mindspore.ops.cosine_similarity

mindspore.ops.cosine_similarity(x1, x2, dim=1, eps=1e-08)[源代码]

沿轴计算的x1和x2之间的余弦相似度。

说明

当前暂不支持对输入进行广播。

\[\text{similarity} = \dfrac{x_1 \cdot x_2}{\max(\Vert x_1 \Vert _2 \cdot \Vert x_2 \Vert _2, \epsilon)}\]
参数:
  • x1 (Tensor) - 第一个输入Tensor。

  • x2 (Tensor) - 第二个输入Tensor。

  • dim (int, optional) - 计算余弦相似度的轴。默认值: 1

  • eps (float, optional) - 极小值,用于避免除零的情况。默认值: 1e-08

返回:

Tensor,x1和x2之间的余弦相似度。

异常:
  • TypeError - 如果 x1x2 的数据类型既不是float16也不是float32。

支持平台:

Ascend GPU CPU

样例:

>>> import mindspore as ms
>>> import mindspore.ops as ops
>>> x1 = ms.Tensor([[-0.0256, 0.0127, -0.2475, 0.2316, 0.8037],
...                 [0.5809, -1.2712, -0.7038, -0.2558, 0.7494]], dtype=ms.float32)
>>> x2 = ms.Tensor([[-0.6115, -0.1965, -0.8484, 0.2389, 0.2409],
...                 [1.8940, -2.1997, 0.1915, 0.0856, 0.7542]], dtype=ms.float32)
>>> output = ops.cosine_similarity(x1, x2)
>>> print(output)
[0.4843164  0.81647635]