mindspore.train.Dice
- class mindspore.train.Dice(smooth=1e-5)[source]
The Dice coefficient is a set similarity metric. It is used to calculate the similarity between two samples. The value of the Dice coefficient is 1 when the segmentation result is the best and is 0 when the segmentation result is the worst. The Dice coefficient is the ratio of the intersection of the predicted values and the true values to the union of the predicted values and the true values. The function is shown as follows:
\[dice = \frac{2 * (pred \bigcap true)}{pred \bigcup true}\]- Parameters:
smooth (float, optional) – A term added to the denominator to improve numerical stability. Should be greater than 0. Default:
1e-5.
- Supported Platforms:
AscendGPUCPU
Examples
>>> import numpy as np >>> from mindspore import Tensor >>> from mindspore.train import Dice >>> >>> 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 = Dice(smooth=1e-5) >>> metric.clear() >>> metric.update(x, y) >>> dice = metric.eval() >>> print(dice) 0.20467791371802546
- eval()[source]
Computes the Dice.
- Returns:
Float, the computed result.
- Raises:
RuntimeError – If the total number of samples is 0.
- update(*inputs)[source]
Updates the internal evaluation result y_pred and y.
- Parameters:
inputs (tuple) – Input y_pred and y. y_pred and y are Tensor, list or numpy.ndarray. y_pred is the predicted value, y is the true value. The shape of y_pred and y are both \((N, ...)\).
- Raises:
ValueError – If the number of the inputs is not 2.
ValueError – If y_pred and y do not have the same shape.