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×MN \times M then the output will have shape 12N(N1)\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=0p = 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()).

  • input – input tensor of shape N×MN \times M.

  • p – p value for the p-norm distance to calculate between each vector pair [0,]\in [0, \infty].


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