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
clear()[source]

clear the internal evaluation result.

eval()[source]

Computes l2 metric.

Returns

Float, the computed result.

update(*inputs)[source]

Updates the internal evaluation result \(y_{pred}\) and \(y\).

Parameters

inputs – Input y_pred and y for calculating L2 where the shape of y_pred and y are same. The input data type must be tensor, list or numpy.array.

Raises
  • ValueError – if the length of inputs is not 2.

  • ValueError – if the shape of y_pred and y are not same.