l2_normalize

paddle.fluid.layers. l2_normalize ( x, axis, epsilon=1e-12, name=None ) [源代码]

该OP计算欧几里得距离之和对x进行归一化。对于1-D张量(系数矩阵的维度固定为0) 计算公式如下:

\[y=\frac{x}{\sqrt{\sum x^{2}+epsilon}}\]

对于输入为多维Tensor的情况,该OP分别对维度轴上的每个1-D切片单独归一化

参数

  • x (Variable) - 维度为 \([N_1, N_2, ..., N_k, D]\) 的多维Tensor,其中最后一维D是类别数目。数据类型为float32或float64。

  • axis (int) - 归一化的轴。如果轴小于0,归一化的维是rank(X)+axis。其中,-1用来表示最后一维。

  • epsilon (float) - epsilon,用于避免除0,默认值为1e-12。

  • name (str,可选) - 具体用法请参见 Name,一般无需设置,默认值为 None。

返回:与输入x的维度一致的Tensor

返回类型:Variable

代码示例

import paddle

X = paddle.randn(shape=[3, 5], dtype='float64')
out = paddle.fluid.layers.l2_normalize(X, axis=-1)
print(out)

# [[ 0.21558504  0.56360189  0.47466096  0.46269539 -0.44326736]
#  [-0.70602414 -0.52745777  0.37771788 -0.2804768  -0.04449922]
#  [-0.33972208 -0.43014923  0.31772556  0.76617881 -0.10761525]]