mindelec.common.L2
- class mindelec.common.L2[source]
Calculates l2 metric.
Creates a criterion that measures the l2 metric between each element in the input: \(x\) and the target: \(y\).
\[\text{l2} = \sqrt {\sum_{i=1}^n \frac {(y_i - x_i)^2}{y_i^2}}\]Here \(y_i\) is the true value and \(x_i\) is the prediction.
Note
The method update must be called with the form update(y_pred, y).
- Supported Platforms:
Ascend
Examples
>>> import numpy as np >>> from mindelec.common import L2 >>> from mindspore import nn, Tensor >>> import mindspore ... >>> x = Tensor(np.array([0.1, 0.2, 0.6, 0.9]), mindspore.float32) >>> y = Tensor(np.array([0.1, 0.25, 0.7, 0.9]), mindspore.float32) >>> metric = L2() >>> metric.clear() >>> metric.update(x, y) >>> result = metric.eval() >>> print(result) 0.09543302997807275
- update(*inputs)[source]
Updates the internal evaluation result \(\text{y_pred}\) and \(\text{y}\).
- Parameters
inputs (Union[Tensor, list, numpy.array]) – y_pred and y can be retrieved from input. y_pred is the predicted value while y the ground truth value. They are used for calculating L2 where the shape of them are the same.
- Raises
ValueError – if the length of inputs is not 2.
ValueError – if the shape of y_pred and y are not same.