Rate this Page
โ˜… โ˜… โ˜… โ˜… โ˜…

torch.nn.functional.cosine_similarity#

torch.nn.functional.cosine_similarity(x1, x2, dim=1, eps=1e-8) โ†’ Tensor#

Returns cosine similarity between x1 and x2, computed along dim. x1 and x2 must be broadcastable to a common shape. dim refers to the dimension in this common shape. Dimension dim of the output is squeezed (see torch.squeeze()), resulting in the output tensor having 1 fewer dimension.

similarity=x1โ‹…x2maxโก(โˆฅx1โˆฅ2,ฯต)โ‹…maxโก(โˆฅx2โˆฅ2,ฯต)\text{similarity} = \dfrac{x_1 \cdot x_2}{\max(\Vert x_1 \Vert _2, \epsilon) \cdot \max(\Vert x_2 \Vert _2, \epsilon)}

Supports type promotion.

Parameters
  • x1 (Tensor) โ€“ First input.

  • x2 (Tensor) โ€“ Second input.

  • dim (int, optional) โ€“ Dimension along which cosine similarity is computed. Default: 1

  • eps (float, optional) โ€“ Small value to avoid division by zero. Default: 1e-8

Example:

>>> input1 = torch.randn(100, 128)
>>> input2 = torch.randn(100, 128)
>>> output = F.cosine_similarity(input1, input2)
>>> print(output)