mindspore.ops.L2Normalize

View Source On Gitee
class mindspore.ops.L2Normalize(axis=0, epsilon=1e-4)[source]

L2 Normalization Operator.

This operator will normalize the input using the given axis. The function is shown as follows:

output=xmax(i|xi|2,ϵ)

where ϵ is epsilon and i|xi|2 calculate the sum of squares of the input x along the dimension axis.

Note

On Ascend, input data type of float64 is currently not supported.

Parameters
  • axis (Union[list(int), tuple(int), int], optional) – Specify the axis for calculating the L2 norm. Default: 0 .

  • epsilon (float, optional) – A small value added for numerical stability. Default: 1e-4 .

Inputs:
  • x (Tensor) - Input to compute the normalization. Tensor of shape (N,), where means any number of additional dimensions. Data type must be float16, float32 or float64.

Outputs:

Tensor, with the same type and shape as the x.

Raises
  • TypeError – If axis is not one of the following: list, tuple or int.

  • TypeError – If epsilon is not a float.

  • TypeError – If x is not a Tensor.

  • TypeError – If dtype of x is not in [float16, float32, float64].

  • ValueError – If dimension of x is not greater than 0.

Supported Platforms:

Ascend GPU CPU

Examples

>>> import mindspore
>>> import numpy as np
>>> from mindspore import Tensor, ops
>>> l2_normalize = ops.L2Normalize()
>>> x = Tensor(np.random.randint(-256, 256, (2, 3, 4)), mindspore.float32)
>>> output = l2_normalize(x)
>>> print(output.shape)
(2, 3, 4)