mindspore/docs/api/api_python/nn/mindspore.nn.TopKCategorica...

56 lines
1.7 KiB
ReStructuredText
Raw Normal View History

2021-12-04 13:55:42 +08:00
mindspore.nn.TopKCategoricalAccuracy
====================================
.. py:class:: mindspore.nn.TopKCategoricalAccuracy(k)
计算top-k分类正确率。
.. note::
`update` 方法需要接收满足 :math:`(y_{pred}, y)` 格式的输入。如果某些样本具有相同的正确率,则将选择第一个样本。
2021-12-04 20:36:47 +08:00
**参数:**
2021-12-04 13:55:42 +08:00
- **k (int)** - 指定要计算的top-k分类正确率。
2021-12-04 20:36:47 +08:00
**异常:**
2021-12-04 13:55:42 +08:00
- **TypeError** - `k` 不是int。
- **ValueError** - `k` 小于1。
2021-12-04 20:36:47 +08:00
**样例:**
2021-12-04 13:55:42 +08:00
>>> import numpy as np
>>> from mindspore import nn, Tensor
>>>
>>> x = Tensor(np.array([[0.2, 0.5, 0.3, 0.6, 0.2], [0.1, 0.35, 0.5, 0.2, 0.],
... [0.9, 0.6, 0.2, 0.01, 0.3]]), mindspore.float32)
>>> y = Tensor(np.array([2, 0, 1]), mindspore.float32)
>>> topk = nn.TopKCategoricalAccuracy(3)
>>> topk.clear()
>>> topk.update(x, y)
>>> output = topk.eval()
>>> print(output)
0.6666666666666666
.. py:method:: clear()
内部评估结果清零。
.. py:method:: eval()
计算top-k分类正确率。
**返回:**
2021-12-04 20:36:47 +08:00
2021-12-04 13:55:42 +08:00
numpy.float64计算结果。
.. py:method:: update(*inputs)
使用预测值 `y_pred` 和真实标签 `y` 更新局部变量。
**参数:**
2021-12-04 20:36:47 +08:00
2021-12-04 13:55:42 +08:00
- **inputs** - 输入 `y_pred``y``y_pred``y` 支持Tensor、list或numpy.ndarray类型。
`y_pred` 在大多数情况下由范围 :math:`[0, 1]` 中的浮点数组成shape为 :math:`(N, C)` ,其中 :math:`N` 是样本数, :math:`C` 是类别数。
`y` 由整数值组成。如果使用one-hot编码则shape为 :math:`(N, C)` 如果使用类别索引shape是 :math:`(N,)`