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

Computes the pairwise distance between input vectors, or between columns of input matrices.

Distances are computed using p-norm, with constant eps added to avoid division by zero if p is negative, i.e.:

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

where ee is the vector of ones and the p-norm is given by.

xp=(i=1nxip)1/p.\Vert x \Vert _p = \left( \sum_{i=1}^n \vert x_i \vert ^ p \right) ^ {1/p}.
  • p (real, optional) – the norm degree. Can be negative. Default: 2

  • eps (float, optional) – Small value to avoid division by zero. Default: 1e-6

  • keepdim (bool, optional) – Determines whether or not to keep the vector dimension. Default: False

  • Input1: (N,D)(N, D) or (D)(D) where N = batch dimension and D = vector dimension

  • Input2: (N,D)(N, D) or (D)(D), same shape as the Input1

  • Output: (N)(N) or ()() based on input dimension. If keepdim is True, then (N,1)(N, 1) or (1)(1) based on input dimension.

>>> pdist = nn.PairwiseDistance(p=2)
>>> input1 = torch.randn(100, 128)
>>> input2 = torch.randn(100, 128)
>>> output = pdist(input1, input2)


Access comprehensive developer documentation for PyTorch

View Docs


Get in-depth tutorials for beginners and advanced developers

View Tutorials


Find development resources and get your questions answered

View Resources