mindspore.ops.rms_norm
- mindspore.ops.rms_norm(x, gamma, epsilon=1e-6)[source]
The RmsNorm(Root Mean Square Layer Normalization) operator is a normalization operation. Compared to LayerNorm, it retains scaling invariance and removes translation invariance. Its formula is:
\[y=\frac{x_i}{\sqrt{\frac{1}{n}\sum_{i=1}^{n}{ x_i^2}+\varepsilon}}\gamma_i\]Warning
After version 2.9.0, the signature will change to
rms_norm(input, normalized_shape, weight=None, eps=1e-6), and the parameter and return value semantics will change accordingly.- Parameters:
- Returns:
Tensor, denotes the normalized result, has the same type and shape as x.
Tensor, with the float data type, denotes the reciprocal of the input standard deviation, used by gradient calculation.
- Raises:
TypeError – If data type of x is not one of the following: float16, float32, bfloat16.
TypeError – If data type of gamma is not one of the following: float16, float32, bfloat16.
TypeError – If data type of x is not the same as the data type of gamma.
ValueError – If epsilon is not a float between 0 and 1.
ValueError – If the rank of gamma is larger than the rank of x.
- Supported Platforms:
Ascend
Examples
>>> import mindspore >>> import numpy as np >>> from mindspore import Tensor, ops >>> x = Tensor(np.array([[1, 2, 3], [1, 2, 3]]), mindspore.float32) >>> gamma = Tensor(np.ones([3]), mindspore.float32) >>> y, rstd = ops.rms_norm(x, gamma) >>> print(y) [[0.46290997 0.92581993 1.3887299] [0.46290997 0.92581993 1.3887299]] >>> print(rstd) [[0.46290997] [0.46290997]]