mindspore.nn.Dice

class mindspore.nn.Dice(smooth=1e-05)[源代码]

集合相似性度量。

用于计算两个样本之间的相似性。当分割结果最好时,Dice系数的值为1,当分割结果最差时,Dice系数的值为0。Dice系数表示预测值与真实值交集同预测值和真实值并集之间的比值。

\[dice = \frac{2 * (pred \bigcap true)}{pred \bigcup true}\]

参数:

  • smooth (float) - 在计算过程中添加到分母里,用于提高数值稳定性,取值需大于0。默认值:1e-5。

支持平台:

Ascend GPU CPU

样例:

>>> import numpy as np
>>> from mindspore import nn, Tensor
>>>
>>> x = Tensor(np.array([[0.2, 0.5], [0.3, 0.1], [0.9, 0.6]]))
>>> y = Tensor(np.array([[0, 1], [1, 0], [0, 1]]))
>>> metric = nn.Dice(smooth=1e-5)
>>> metric.clear()
>>> metric.update(x, y)
>>> dice = metric.eval()
>>> print(dice)
0.20467791371802546
clear()[源代码]

重置评估结果。

eval()[源代码]

计算Dice系数。

返回:

Float,计算的结果。

异常:

  • RuntimeError - 样本数为0。

update(*inputs)[源代码]

更新内部评估结果 y_predy

参数:

  • inputs (tuple) -输入 y_predyy_predy 是tensor、列表或numpy.ndarray。 y_pred 是预测值, y 是真实值。 y_predy 的shape都是 (N, …)

异常:

  • ValueError - 输入参数的数量不等于2。

  • ValueError - 如果预测值和标签shape不一致。