PairwiseDistance

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

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

PairwiseDistance - 图1

参数

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

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

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

  • name (str,可选) - 操作的名称(可选,默认值为None)。更多信息请参见 Name

形状

  • x (Tensor) -

    PairwiseDistance - 图2

    ,其中D是向量的维度,数据类型为float32或float64。

  • y (Tensor) -

    PairwiseDistance - 图3

    ,与 x 的形状、数据类型相同。

  • output (Tensor) - (N)(N) ,如果 keepdim 为True,则形状为 (N,1)(N,1) 。数据类型与 xy 相同。

代码示例

  1. import paddle
  2. x = paddle.to_tensor([[1., 3.], [3., 5.]], dtype='float64')
  3. y = paddle.to_tensor([[5., 6.], [7., 8.]], dtype='float64')
  4. dist = paddle.nn.PairwiseDistance()
  5. distance = dist(x, y)
  6. print(distance) # [5. 5.]