Cosine Similarity¶
Module Interface¶
- class torchmetrics.CosineSimilarity(reduction='sum', **kwargs)[source]
Computes the Cosine Similarity between targets and predictions:

where
is a tensor of target values, and
is a tensor of predictions.As input to
forwardandupdatethe metric accepts the following input:preds(Tensor): Predicted float tensor with shape(N,d)target(Tensor): Ground truth float tensor with shape(N,d)
As output of
forwardandcomputethe metric returns the following output:cosine_similarity(Tensor): A float tensor with the cosine similarity
- Parameters
reduction¶ (
Literal[‘mean’, ‘sum’, ‘none’, None]) – how to reduce over the batch dimension using ‘sum’, ‘mean’ or ‘none’ (taking the individual scores)kwargs¶ (
Any) – Additional keyword arguments, see Advanced metric settings for more info.
Example
>>> from torchmetrics import CosineSimilarity >>> target = torch.tensor([[0, 1], [1, 1]]) >>> preds = torch.tensor([[0, 1], [0, 1]]) >>> cosine_similarity = CosineSimilarity(reduction = 'mean') >>> cosine_similarity(preds, target) tensor(0.8536)
Initializes internal Module state, shared by both nn.Module and ScriptModule.
Functional Interface¶
- torchmetrics.functional.cosine_similarity(preds, target, reduction='sum')[source]
Computes the Cosine Similarity between targets and predictions:

where
is a tensor of target values, and
is a tensor of predictions.- Parameters
Example
>>> from torchmetrics.functional.regression import cosine_similarity >>> target = torch.tensor([[1, 2, 3, 4], ... [1, 2, 3, 4]]) >>> preds = torch.tensor([[1, 2, 3, 4], ... [-1, -2, -3, -4]]) >>> cosine_similarity(preds, target, 'none') tensor([ 1.0000, -1.0000])
- Return type