add cn api

This commit is contained in:
changzherui 2022-02-15 10:53:07 +08:00
parent 564f6089c6
commit 2da26a23a2
8 changed files with 248 additions and 8 deletions

View File

@ -0,0 +1,44 @@
mindspore.nn.BleuScore
======================
.. py:class:: mindspore.nn.BleuScore(n_gram=4, smooth=False)
计算具有一个或多个引用的机器翻译文本的BLEU分数。
**参数:**
- **n_gram** (int) - 取值范围为1~4。默认值4。
- **smooth** (bool) - 是否采用平滑计算的方式。默认值False。
**异常:**
- **ValueError** - `n_gram` 的取值范围不在1~4之间。
.. py:method:: clear()
重置评估结果。
.. py:method:: eval()
计算BLEU分数。
**返回:**
numpy.ndarraynumpy类型的BLEU分数。
**异常:**
- **RuntimeError** - 调用该方法前没有先调用update方法。
.. py:method:: update(*inputs)
使用输入的内容更新内部评估结果。
**参数:**
- ***inputs** (tuple) - 输入的元组,第一个输入是机器翻译语料库列表,第二个输入是引用语料库列表。
**异常:**
- **ValueError** - 输入参数的数量不等于2。
- **ValueError** - `candidate_corpus` 的长度与 `reference_corpus` 不同。

View File

@ -0,0 +1,50 @@
mindspore.nn.ConfusionMatrix
============================
.. py:class:: mindspore.nn.ConfusionMatrix(num_classes, normalize='no_norm', threshold=0.5)
计算混淆矩阵(confusion matrix),通常用于评估分类模型的性能,包括二分类和多分类场景。
如果您只想使用混淆矩阵,请使用该类。如果想计算"PPV"、"TPR"、"TNR"等,请使用'mindspore.nn.ConfusionMatrixMetric'类。
**参数:**
- **num_classes** (int) - 数据集中的类别数量。
- **normalize** (str) - 计算ConfsMatrix的参数支持四种归一化模式默认值None。
- **"no_norm"** (None):不使用标准化。
- **"target"** (str):基于目标值的标准化。
- **"prediction"** (str):基于预测值的标准化。
- **"all"** (str):整个矩阵的标准化。
- **threshold** (float) - 阈值用于与输入Tensor进行比较。默认值0.5。
.. py:method:: clear()
重置评估结果。
.. py:method:: eval()
计算混淆矩阵。
**返回:**
numpy.ndarray计算的结果。
**异常:**
- **RuntimeError** - 没有先调用update方法。
.. py:method:: update(*inputs)
使用y_pred和y更新内部评估结果。
**参数:**
- ***inputs** (tuple) - 输入 `y_pred``y``y_pred``y``Tensor` 、列表或数组。
`y_pred` 是预测值, `y` 是真实值, `y_pred` 的shape是 :math:`(N, C, ...)`:math:`(N, ...)` `y` 的shape是 :math:`(N, ...)`
**异常:**
- **RuntimeError** - 没有先调用update方法。

View File

@ -0,0 +1,56 @@
mindspore.nn.ConfusionMatrixMetric
==================================
.. py:class:: mindspore.nn.ConfusionMatrixMetric(skip_channel=True, metric_name='sensitivity', calculation_method=False, decrease='mean')
度量分类模型的性能矩阵是输出为二进制或多类的模型。
从满量程Tensor计算混淆矩阵的相关性度量并收集批次、类通道和迭代的平均值。
此函数支持计算以下描述的所有度量参数metric_name中的度量名称。
如果要使用混淆矩阵计算,如"PPV"、"TPR"、"TNR",请使用此类。
如果您只想计算混淆矩阵,请使用'mindspore.nn.ConfusionMatrix'。
**参数:**
- **skip_channel** (bool) - 是否跳过预测输出的第一个通道的度量计算。默认值True。
- **metric_name** (str) - 建议采用如下指标。当然,也可以为这些指标设置通用别名。
取值范围:["sensitivity", "specificity", "precision", "negative predictive value", "miss rate", "fall out", "false discovery rate", "false omission rate", "prevalence threshold", "threat score", "accuracy", "balanced accuracy", "f1 score", "matthews correlation coefficient", "fowlkes mallows index", "informedness", "markedness"]。
默认值:"sensitivity"。
- **calculation_method** (bool) - 如果为True则计算每个样品的度量值。如果为False则累积所有样本的混淆矩阵。
对于分类任务, `calculation_method` 应为False。默认值False。
- **decrease** (str) - 定义减少一批数据计算结果的模式。仅当 `calculation_method` 为True时才生效。
取值范围:["none", "mean", "sum", "mean_batch", "sum_batch", "mean_channel", "sum_channel"]。默认值:"mean"。
.. py:method:: clear()
重置评估结果。
.. py:method:: eval()
计算混淆矩阵度量。
**返回:**
numpy.ndarray计算的结果。
.. py:method:: update(*inputs)
使用预测值和目标值更新状态。
**参数:**
- **inputs** (tuple) - `y_pred``y``y_pred``y``Tensor` 、列表或数组。
- **y_pred** (ndarray)待计算的输入数据。格式必须为one-hot且第一个维度是batch。
`y_pred` 的shape是 :math:`(N, C, ...)`:math:`(N, ...)`
至于分类任务, `y_pred` 的shape应为[BN]其中N大于1。对于分割任务shape应为[BNHW]或[BNHWD]。
- **y** (ndarray)计算度量值的真实值。格式必须为one-hot且第一个维度是batch。`y` 的shape是 :math:`(N, C, ...)`
**返回:**
numpynumpy类型评估结果。
**异常:**
- **ValueError** - 输入参数的数量不等于2。

View File

@ -0,0 +1,36 @@
mindspore.nn.CosineSimilarity
=============================
.. py:class:: mindspore.nn.CosineSimilarity(similarity='cosine', reduction='none', zero_diagonal=True)
计算表示相似性。
**参数:**
- **similarity** (str) - "dot"或"cosine"。默认值:"cosine"。
- **reduction** (str) - "none"、"sum"或"mean"。默认值:"none"。
- **zero_diagonal** (bool) - 如果为True则对角线将设置为零。默认值True。
.. py:method:: clear()
重置评估结果。
.. py:method:: eval()
计算Cosine Similarity矩阵。
**返回:**
numpy.ndarray相似度矩阵。
**异常:**
- **RuntimeError** - 如果没有先调用update方法。
.. py:method:: update(*inputs)
使用y_pred和y更新内部评估结果。
**参数:**
- **inputs** (Union[Tensor, list, numpy.ndarray]) - 输入的矩阵。

View File

@ -0,0 +1,44 @@
mindspore.nn.Dice
==================
.. py:class:: mindspore.nn.nn.Dice(smooth=1e-05)
集合相似性度量。
用于计算两个样本之间的相似性。当分割结果最好时Dice系数的值为1当分割结果最差时Dice系数的值为0。Dice系数表示两个对象之间的面积与总面积的比率。
.. math::
dice = \frac{2 * (pred \bigcap true)}{pred \bigcup true}
**参数:**
- **smooth** (float) - 在计算过程中添加到分母里用于提高数值稳定性取值需大于0。默认值1e-5。
.. py:method:: clear()
重置评估结果。
.. py:method:: eval()
计算混淆矩阵。
**返回:**
Float计算的结果。
**异常:**
- **RuntimeError** - 样本数为0。
.. py:method:: update(*inputs)
更新内部评估结果 `y_pred``y`
**参数:**
- **inputs** (tuple) -输入 `y_pred``y``y_pred``y` 是tensor、列表或numpy.ndarray。 `y_pred` 是预测值, `y` 是真实值。
**异常:**
- **ValueError** - 输入参数的数量不等于2。
- **ValueError** - 如果预测值和标签shape不一致。

View File

@ -0,0 +1,16 @@
mindspore.nn.auc
================
.. py:class:: mindspore.nn.auc(x, y, reorder=False)
使用梯形规则计算曲线下面积AUCArea Under the CurveAUC。这是一个一般函数给定曲线上的点
用于计算ROC (Receiver Operating Curve, ROC) 曲线下的面积。
**参数:**
- **x** (Union[np.array, list]) - 从ROC曲线fpr来看np.array具有假阳性率。如果是多类则为np.array列表。Shape为 :math:`(N)`
- **y** (Union[np.array, list]) - 从ROC曲线tpr来看np.array具有假阳性率。如果是多类则为np.array列表。Shape为 :math:`(N)`
**返回:**
area[bool]值为True。

View File

@ -19,11 +19,9 @@ from .metric import Metric, rearrange_inputs
class ConfusionMatrix(Metric):
r"""
"""
Computes the confusion matrix, which is commonly used to evaluate the performance of classification models,
including binary classification and multiple classification. It returns an array of shape [BC4], where B is the
batch size and C is the number of classes to be calculated, the third dimension represents each channel of
each sample in the input batch, .
including binary classification and multiple classification.
If you only need confusion matrix, use this class. If you want to calculate other metrics, such as 'PPV',
'TPR', 'TNR', etc., use class 'mindspore.metrics.ConfusionMatrixMetric'.

View File

@ -27,10 +27,6 @@ class CosineSimilarity(Metric):
reduction (str): 'none', 'sum', 'mean' (all along dim -1). Default: 'none'.
zero_diagonal (bool): If True, diagonals of results will be set to zero. Default: True.
Return:
numpy.ndarray. A square matrix with element-wise similarity scores. If `reduction` is set to
"sum" or "mean", values of the matrix will be reduced by row.
Supported Platforms:
``Ascend`` ``GPU`` ``CPU``