# 1.L2归一化介绍
在深度神经网络中,偶尔会出现多个量纲不同的向量拼接在一起的情况,此时就可以使用L2归一化统一拼接后的向量的量纲,使得网络能够快速收敛。
# 2. tensorflow2.math.l2_normalize函数
参数 | 作用 |
---|---|
x | 输入tensor |
axis | 沿着哪个轴归一化 |
epsilon | 归一化的最小值,当norm的结果小于epsilon时返回epsilon |
name | 可选参数,操作名称 |
输出:array([[0.31622776, 0.4472136 ],[0.94868326, 0.8944272 ]], dtype=float32)
计算方式:
import tensorflow as tf
x = tf.constant([[1.,2],[3.,4]])
tf.math.l2_normalize(x, axis=1).numpy()
输出:array([[0.4472136, 0.8944272],[0.6, 0.8]], dtype=float32)
计算方式:
# 3.pytorch中的normalize API
>>> x=torch.tensor([[1,2],[3,4.]])
>>> n = torch.nn.functional.normalize(x,p=2,dim=0)
>>> n
tensor([[0.3162, 0.4472],
[0.9487, 0.8944]])
>>> n = torch.nn.functional.normalize(x,p=2,dim=1)
>>> n
tensor([[0.4472, 0.8944],
[0.6000, 0.8000]])