pytorch / 2 / generated / torch.nn.functional.pdist.html

torch.nn.functional.pdist

torch.nn.functional.pdist(input, p=2) → Tensor

Computes the p-norm distance between every pair of row vectors in the input. This is identical to the upper triangular portion, excluding the diagonal, of torch.norm(input[:, None] - input, dim=2, p=p). This function will be faster if the rows are contiguous.

If input has shape N × M N \times M then the output will have shape 1 2 N ( N 1 ) \frac{1}{2} N (N - 1) .

This function is equivalent to scipy.spatial.distance.pdist(input, 'minkowski', p=p) if p ( 0 , ) p \in (0, \infty) . When p = 0 p = 0 it is equivalent to scipy.spatial.distance.pdist(input, 'hamming') * M. When p = p = \infty , the closest scipy function is scipy.spatial.distance.pdist(xn, lambda x, y: np.abs(x - y).max()).

Parameters
  • input – input tensor of shape N × M N \times M .
  • p – p value for the p-norm distance to calculate between each vector pair [ 0 , ] \in [0, \infty] .

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