PairwiseDistance

class paddle.nn. PairwiseDistance ( p=2., epsilon=1e-6, keepdim=False, name=None ) [源代码]

计算两组向量(输入 xy)两两之间的距离。该距离通过 p 范数计算:

参数

  • p (float,可选) - 指定 p 阶的范数。默认值为 2.0

  • epsilon (float,可选) - 添加到分母的一个很小值,避免发生除零错误。默认值为 1e-6

  • keepdim (bool,可选) - 是否保留输出 Tensor 减少的维度。输出结果相对于 |x-y| 的结果减少一维,除非 keepdim 为 True,默认值为 False。

  • name (str,可选) - 具体用法请参见 Name,一般无需设置,默认值为 None。

形状

  • x (Tensor) - [N, D][D],其中 N 是批大小,D 是向量的维度,数据类型为 float16,float32,float64。

  • y (Tensor) - [N, D][D],与 x 的数据类型相同。

  • output (Tensor) - 数据类型与 xy 相同。
    • 如果 keepdim 为 True,则形状为 [N, 1][1],依据输入中是否有数据形状为 [N, D]

    • 如果 keepdim 为 False,则形状为 [N][],依据输入中是否有数据形状为 [N, D]

代码示例

>>> import paddle
>>> x = paddle.to_tensor([[1., 3.], [3., 5.]], dtype=paddle.float64)
>>> y = paddle.to_tensor([[5., 6.], [7., 8.]], dtype=paddle.float64)
>>> dist = paddle.nn.PairwiseDistance()
>>> distance = dist(x, y)
>>> print(distance)
Tensor(shape=[2], dtype=float64, place=Place(cpu), stop_gradient=True,
[4.99999860, 4.99999860])