mindspore.ops.InTopK

class mindspore.ops.InTopK(k)[源代码]

判断目标标签是否在前 k 个预测中。

更多参考详见 mindspore.ops.intopk()

参数:
  • k (int) - 指定在最后一维上参与比较的top元素的数量。

输入:
  • x1 (Tensor) - 二维Tensor,对样本的预测。数据类型支持float16或float32。

  • x2 (Tensor) - 一维Tensor,样本的标签。数据类型为int32。 x2 的大小必须与 x1 第一维度的大小相同。 x2 取值不可为负且必须小于或等于 x1 第二维度的大小。

输出:

一维的bool类型Tensor,与 x2 shape相同。对于 x2 中的样本标签 i,如果它在 x1 的前 k 个预测值中,则输出值为 True ,否则为 False

支持平台:

Ascend GPU CPU

样例:

>>> import mindspore
>>> import numpy as np
>>> from mindspore import Tensor, ops
>>> x1 = Tensor(np.array([[1, 8, 5, 2, 7], [4, 9, 1, 3, 5]]), mindspore.float32)
>>> x2 = Tensor(np.array([1, 3]), mindspore.int32)
>>> in_top_k = ops.InTopK(3)
>>> output = in_top_k(x1, x2)
>>> print(output)
[ True  False]