成对距离

classtorch.nn.PairwiseDistance(p=2.0, eps=1e-06, keepdim=False)[源代码]

计算输入向量之间的成对距离,或输入矩阵各列之间的成对距离。

距离的计算使用p-范数,并在p为负值时添加常量eps以避免除零错误,即:

$\mathrm{dist}\left(x, y\right) = \left\Vert x-y + \epsilon e \right\Vert_p,$

其中$e$ 是一个全1的向量,p-范数定义如下:

$\Vert x \Vert _p = \left( \sum_{i=1}^n \vert x_i \vert ^ p \right) ^ {1/p}.$
参数
  • p (实数, 可选) – 范数的度。可以为负数。默认值:2

  • eps (float, 可选) – 一个很小的数值,用于防止除以零的情况。默认值:1e-6

  • keepdim (bool, optional) – 是否保持向量维度的标志。默认值:False

形状:
  • 输入1: $(N, D)$$(D)$,其中 N 表示批次维度,D 表示向量维度。

  • 输入2: $(N, D)$$(D)$,其形状与输入1相同

  • 输出:根据输入的维度为 $(N)$$()$。如果 keepdimTrue,则输出根据输入维度分别为 $(N, 1)$$(1)$

示例:
>>> pdist = nn.PairwiseDistance(p=2)
>>> input1 = torch.randn(100, 128)
>>> input2 = torch.randn(100, 128)
>>> output = pdist(input1, input2)
本页目录