dist¶
-
paddle.fluid.layers.
dist
(x, y, p=2)[source] This OP returns the p-norm of (x - y). It is not a norm in a strict sense, only as a measure of distance. The shapes of x and y must be broadcastable.
Where, z = x - y,
When p = 0, defining $0^0=0$, the zero-norm of z is simply the number of non-zero elements of z.
\[||z||_{0}=\lim_{p \rightarrow 0}\sum_{i=1}^{m}|z_i|^{p}\]When p = inf, the inf-norm of z is the maximum element of z.
\[||z||_\infty=\max_i |z_i|\]When p = -inf, the negative-inf-norm of z is the minimum element of z.
\[||z||_{-\infty}=\min_i |z_i|\]Otherwise, the p-norm of z follows the formula,
\[||z||_{p}=(\sum_{i=1}^{m}|z_i|^p)^{\frac{1}{p}}\]- Parameters
x (Variable) – 1-D to 6-D Tensor, its data type is float32 or float64.
y (Variable) – 1-D to 6-D Tensor, its data type is float32 or float64.
p (float, optional) – The norm to be computed, its data type is float32 or float64. Default: 2.
- Returns
Tensor that is the p-norm of (x - y).
- Return type
Variable
Examples
import paddle import paddle.fluid as fluid import numpy as np with fluid.dygraph.guard(): x = fluid.dygraph.to_variable(np.array([[3, 3],[3, 3]]).astype(np.float32)) y = fluid.dygraph.to_variable(np.array([[3, 3],[3, 1]]).astype(np.float32)) out = fluid.layers.dist(x, y, 0) print(out.numpy()) # out = [1.] out = fluid.layers.dist(x, y, 2) print(out.numpy()) # out = [2.] out = fluid.layers.dist(x, y, float("inf")) print(out.numpy()) # out = [2.] out = fluid.layers.dist(x, y, float("-inf")) print(out.numpy()) # out = [0.]