pytorch / 2 / generated / torch.nn.pairwisedistance.html

PairwiseDistance

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.:

d i s t ( x , y ) = x y + ϵ e p , \mathrm{dist}\left(x, y\right) = \left\Vert x-y + \epsilon e \right\Vert_p,

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

x p = ( i = 1 n x i p ) 1 / p . \Vert x \Vert _p = \left( \sum_{i=1}^n \vert x_i \vert ^ p \right) ^ {1/p}.
Parameters
  • 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
Shape:
  • 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.
Examples::
>>> pdist = nn.PairwiseDistance(p=2)
>>> input1 = torch.randn(100, 128)
>>> input2 = torch.randn(100, 128)
>>> output = pdist(input1, input2)

© 2024, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://pytorch.org/docs/2.1/generated/torch.nn.PairwiseDistance.html