mindspore.ops.L2Normalize
- class mindspore.ops.L2Normalize(axis=0, epsilon=0.0001)[源代码]
L2范数归一化算子。
该算子将对输入 x 在给定 axis 上的元素进行归一化。函数定义如下:
\[\displaylines{{\text{output} = \frac{x}{\sqrt{\text{max}( \sum_{i}^{}\left | x_i \right | ^2, \epsilon)}}}}\]其中 \(\epsilon\) 表示 epsilon , \(\sum_{i}^{}\left | x_i \right | ^2\) 表示计算输入 x 在给定 axis 上元素的平方和。
参数:
axis (Union[list(int), tuple(int), int]) - 指定计算L2范数的轴。默认值:0。
epsilon (float) - 为了数值稳定性而引入的很小的浮点数。默认值:1e-4。
输入:
x (Tensor) - 计算归一化的输入。shape为 \((N, *)\) ,其中 \(*\) 表示任意的附加维度数。数据类型必须为float16或float32。
输出:
Tensor,shape和数据类型与 x 的相同。
异常:
TypeError - axis 不是list、tuple或int。
TypeError - epsilon 不是float。
TypeError - x 不是Tensor。
TypeError - x 的数据类型既不是float16也不是float32。
ValueError - x 的维度不大于0。
- 支持平台:
Ascend
GPU
CPU
样例:
>>> 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)