mindspore.ops.L2Normalize

class mindspore.ops.L2Normalize(*args, **kwargs)[source]

L2 Normalization Operator.

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

\[\text{output} = \frac{x}{\sqrt{\text{max}(\text{sum} (\text{input_x}^2), \epsilon)}},\]

where \(\epsilon\) is epsilon.

Parameters
  • axis (Union[list(int), tuple(int), int]) – The starting axis for the input to apply the L2 Normalization. Default: 0.

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

Inputs:
  • input_x (Tensor) - Input to compute the normalization. Data type must be float16 or float32.

Outputs:

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

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

  • TypeError – If epsilon is not a float.

  • TypeError – If input_x is not a Tensor.

  • TypeError – If dtype of input_x is neither float16 nor float32.

Supported Platforms:

Ascend GPU CPU

Examples

>>> l2_normalize = ops.L2Normalize()
>>> input_x = Tensor(np.random.randint(-256, 256, (2, 3, 4)), mindspore.float32)
>>> output = l2_normalize(input_x)
>>> print(output.shape)
(2, 3, 4)