Linear Similarity¶
Functional Interface¶
- torchmetrics.functional.pairwise_linear_similarity(x, y=None, reduction=None, zero_diagonal=None)[source]¶
Calculate pairwise linear similarity.
\[s_{lin}(x,y) = <x,y> = \sum_{d=1}^D x_d \cdot y_d\]If both \(x\) and \(y\) are passed in, the calculation will be performed pairwise between the rows of \(x\) and \(y\). If only \(x\) is passed in, the calculation will be performed between the rows of \(x\).
- 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 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_linear_similarity >>> x = torch.tensor([[2, 3], [3, 5], [5, 8]], dtype=torch.float32) >>> y = torch.tensor([[1, 0], [2, 1]], dtype=torch.float32) >>> pairwise_linear_similarity(x, y) tensor([[ 2., 7.], [ 3., 11.], [ 5., 18.]]) >>> pairwise_linear_similarity(x) tensor([[ 0., 21., 34.], [21., 0., 55.], [34., 55., 0.]])