Shortcuts

Cosine Similarity

Module Interface

class torchmetrics.CosineSimilarity(reduction='sum', compute_on_step=None, **kwargs)[source]

Computes the Cosine Similarity between targets and predictions:

cos_{sim}(x,y) = \frac{x \cdot y}{||x|| \cdot ||y||} =
\frac{\sum_{i=1}^n x_i y_i}{\sqrt{\sum_{i=1}^n x_i^2}\sqrt{\sum_{i=1}^n y_i^2}}

where y is a tensor of target values, and x is a tensor of predictions.

Forward accepts

  • preds (float tensor): (N,d)

  • target (float tensor): (N,d)

Parameters
  • reduction (Literal[‘mean’, ‘sum’, ‘none’, None]) – how to reduce over the batch dimension using ‘sum’, ‘mean’ or ‘none’ (taking the individual scores)

  • compute_on_step (Optional[bool]) –

    Forward only calls update() and returns None if this is set to False.

    Deprecated since version v0.8: Argument has no use anymore and will be removed v0.9.

  • kwargs (Dict[str, 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.

compute()[source]

Override this method to compute the final metric value from state variables synchronized across the distributed backend.

Return type

Tensor

update(preds, target)[source]

Update metric states with predictions and targets.

Parameters
  • preds (Tensor) – Predicted tensor with shape (N,d)

  • target (Tensor) – Ground truth tensor with shape (N,d)

Return type

None

Functional Interface

torchmetrics.functional.cosine_similarity(preds, target, reduction='sum')[source]

Computes the Cosine Similarity between targets and predictions:

cos_{sim}(x,y) = \frac{x \cdot y}{||x|| \cdot ||y||} =
\frac{\sum_{i=1}^n x_i y_i}{\sqrt{\sum_{i=1}^n x_i^2}\sqrt{\sum_{i=1}^n y_i^2}}

where y is a tensor of target values, and x is a tensor of predictions.

Parameters
  • preds (Tensor) – Predicted tensor with shape (N,d)

  • target (Tensor) – Ground truth tensor with shape (N,d)

  • reduction (Optional[str]) – The method of reducing along the batch dimension using sum, mean or taking the individual scores

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

Tensor

Read the Docs v: v0.8.0
Versions
latest
stable
v0.8.0
v0.7.3
v0.7.2
v0.7.1
v0.7.0
v0.6.2
v0.6.1
v0.6.0
v0.5.1
v0.5.0
v0.4.1
v0.4.0
v0.3.2
v0.3.1
v0.3.0
v0.2.0
v0.1.0
Downloads
On Read the Docs
Project Home
Builds

Free document hosting provided by Read the Docs.