l2_normalize¶
该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]]