mindspore.mint.nn.functional.normalize

mindspore.mint.nn.functional.normalize(input, p=2.0, dim=1, eps=1e-12)[source]

Perform normalization of inputs over specified dimension

For a tensor input of sizes \((n_{0},..., n_{dim},..., n_{k})\), each \(n_{dim}\) -element vector v along dimension dim is transformed as

\[v=\frac{v}{\max(\left \| v \right \| _{p},\in )}\]

With the default arguments it uses the Euclidean norm over vectors along dimension 1 for normalization.

Warning

This is an experimental API that is subject to change or deletion.

Parameters
  • input (Tensor) – input tensor of any shape.

  • p (float) – the exponent value in the norm formulation. default: 2.

  • dim (int) – the dimension to reduce. default: 1.

  • eps (float) – small value to avoid division by zero. default: 1e-12.

Returns

Tensor, shape and data type are the same as input.

Supported Platforms:

Ascend

Examples

>>> import mindspore
>>> import numpy as np
>>> from mindspore import Tensor, mint
>>> tensor = Tensor(np.array([[0, 1, 2], [3, 4, 5], [6, 7, 8]]), mindspore.float32)
>>> output = mint.nn.functional.normalize(tensor)
>>> print(output)
[[0.0000 0.4472 0.8944]
 [0.4243 0.5657 0.7071]
 [0.4915 0.5735 0.6554]]