Euclidean Distance
Functional Interface
- torchmetrics.functional.pairwise_euclidean_distance(x, y=None, reduction=None, zero_diagonal=None)[source]
Calculate pairwise euclidean distances.
If both
and are passed in, the calculation will be performed pairwise between the rows of and . If only is passed in, the calculation will be performed between the rows of .- Parameters:
x (
Tensor
) – Tensor with shape[N, d]
reduction (
Optional
[Literal
['mean'
,'sum'
,'none'
,None
]]) – reduction to apply along the last dimension. Choose between ‘mean’, ‘sum’ (applied along column dimension) or ‘none’, None for no reductionzero_diagonal (
Optional
[bool
]) – if the diagonal of the distance matrix should be set to 0. If only x is given this defaults to True else if y is also given it defaults to False
- Return type:
- Returns:
A
[N,N]
matrix of distances if onlyx
is given, else a[N,M]
matrix
Example
>>> import torch >>> from torchmetrics.functional.pairwise import pairwise_euclidean_distance >>> x = torch.tensor([[2, 3], [3, 5], [5, 8]], dtype=torch.float32) >>> y = torch.tensor([[1, 0], [2, 1]], dtype=torch.float32) >>> pairwise_euclidean_distance(x, y) tensor([[3.1623, 2.0000], [5.3852, 4.1231], [8.9443, 7.6158]]) >>> pairwise_euclidean_distance(x) tensor([[0.0000, 2.2361, 5.8310], [2.2361, 0.0000, 3.6056], [5.8310, 3.6056, 0.0000]])