Shortcuts

成对距离

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

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

距离使用p-范数计算,并添加常数eps以避免除以零的情况,如果p为负数,即:

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

其中 ee 是全一的向量,p-范数由下式给出。

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

  • eps (float, 可选) – 用于避免除零的小值。 默认值: 1e-6

  • keepdim (bool, 可选) – 确定是否保留向量维度。 默认值: False

Shape:
  • 输入1: (N,D)(N, D)(D)(D) 其中 N = 批次维度D = 向量维度

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

  • 输出: (N)(N)()() 基于输入维度。 如果 keepdimTrue,那么 (N,1)(N, 1)(1)(1) 基于输入维度。

Examples::
>>> pdist = nn.PairwiseDistance(p=2)
>>> input1 = torch.randn(100, 128)
>>> input2 = torch.randn(100, 128)
>>> output = pdist(input1, input2)
优云智算