Cosine Similarity¶
Functional Interface¶
- torchmetrics.functional.pairwise_cosine_similarity(x, y=None, reduction=None, zero_diagonal=None)[source]
Calculate pairwise cosine similarity.

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:
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
is given
this defaults to Trueelse if
is also given it defaults to False
- Return type:
- Returns:
A
[N,N]matrix of distances if onlyxis given, else a[N,M]matrix
Example
>>> import torch >>> from torchmetrics.functional.pairwise import pairwise_cosine_similarity >>> x = torch.tensor([[2, 3], [3, 5], [5, 8]], dtype=torch.float32) >>> y = torch.tensor([[1, 0], [2, 1]], dtype=torch.float32) >>> pairwise_cosine_similarity(x, y) tensor([[0.5547, 0.8682], [0.5145, 0.8437], [0.5300, 0.8533]]) >>> pairwise_cosine_similarity(x) tensor([[0.0000, 0.9989, 0.9996], [0.9989, 0.0000, 0.9998], [0.9996, 0.9998, 0.0000]])