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 \times M\) then the output will have shape \(\frac{1}{2} N (N - 1)\).
This function is equivalent to
scipy.spatial.distance.pdist(input, 'minkowski', p=p)
if \(p \in (0, \infty)\). When \(p = 0\) it is equivalent toscipy.spatial.distance.pdist(input, 'hamming') * M
. When \(p = \infty\), the closest scipy function isscipy.spatial.distance.pdist(xn, lambda x, y: np.abs(x - y).max())
.- Parameters:
input – input tensor of shape \(N \times M\).
p – p value for the p-norm distance to calculate between each vector pair \(\in [0, \infty]\).