mindspore.train.CosineSimilarity

class mindspore.train.CosineSimilarity(similarity='cosine', reduction='none', zero_diagonal=True)[源代码]

计算余弦相似度。

参数:
  • similarity (str) - 计算逻辑。 "cosine" 表示相似度计算逻辑, "dot" 表示矩阵点乘计算逻辑。默认值: 'cosine'

  • reduction (str) - 规约计算方式。支持 "none""sum""mean" 。默认值: 'none'

  • zero_diagonal (bool) - 如果为 True ,则对角线将设置为零。默认值: True

支持平台:

Ascend GPU CPU

样例:

>>> import numpy as np
>>> from mindspore.train import CosineSimilarity
>>>
>>> test_data = np.array([[1, 3, 4, 7], [2, 4, 2, 5], [3, 1, 5, 8]])
>>> metric = CosineSimilarity()
>>> metric.clear()
>>> metric.update(test_data)
>>> square_matrix = metric.eval()
>>> print(square_matrix)
[[0.  0.94025615  0.95162452]
 [0.94025615  0.  0.86146098]
 [0.95162452  0.86146098  0.]]
clear()[源代码]

重置评估结果。

eval()[源代码]

计算Cosine Similarity矩阵。

返回:

numpy.ndarray,相似度矩阵。

异常:
  • RuntimeError - 如果没有先调用update方法。

update(*inputs)[源代码]

使用 inputs 更新内部评估结果。

参数:
  • inputs (Union[Tensor, list, numpy.ndarray]) - 输入的矩阵,包含 y_predy