mindspore.train.Precision
- class mindspore.train.Precision(eval_type='classification')[源代码]
计算数据分类的精度,包括单标签场景和多标签场景。
此函数创建两个局部变量
和 ,用于计算精度。计算方式如下:- 参数:
eval_type (str) - 支持
'classification'
和'multilabel'
。具体作用见下方的update方法。默认值:'classification'
。
- 支持平台:
Ascend
GPU
CPU
样例:
>>> import numpy as np >>> from mindspore import Tensor >>> from mindspore.train import Precision >>> >>> x = Tensor(np.array([[0.2, 0.5], [0.3, 0.1], [0.9, 0.6]])) >>> y = Tensor(np.array([1, 0, 1])) >>> metric = Precision('classification') >>> metric.clear() >>> metric.update(x, y) >>> precision = metric.eval() >>> print(precision) [0.5 1. ]
- update(*inputs)[源代码]
使用预测值
和真实标签 更新局部变量。在多标签情况下, 和 的元素必须为0或1。- 参数:
inputs - 输入
和 。 和 支持Tensor、list或numpy.ndarray类型。对于
'classification'
情况, 在大多数情况下由范围 中的浮点数组成,shape为 ,其中 是样本数, 是类别数。 由整数值组成,如果是one_hot编码格式,shape是 ;如果是类别索引,shape是 。对于
'multilabel'
情况, 和 只能是值为0或1的one-hot编码格式,其中值为1的索引表示正类别。 和 的shape都是 。
- 异常:
ValueError - inputs数量不是2。