评价此页

PairwiseDistance#

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

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

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

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

其中 ee 是全1向量,p-范数定义如下:

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

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

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

形状
  • 输入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),具体取决于输入维度。

示例

>>> pdist = nn.PairwiseDistance(p=2)
>>> input1 = torch.randn(100, 128)
>>> input2 = torch.randn(100, 128)
>>> output = pdist(input1, input2)
forward(x1, x2)[source]#

执行前向传播。

返回类型

张量