1、l2_normalize函数

tf.nn.l2_normalize(x, dim, epsilon=1e-12, name=None)

解释:这个函数的作用是利用 L2 范数对指定维度 dim 进行标准化。

比如,对于一个一维的张量,指定维度 dim = 0,那么计算结果为:

output = x / sqrt( max( sum( x ** 2 ) , epsilon ) )

假设 x 是多维度的,那么标准化只会独立的对维度 dim 进行,不会影响到别的维度。

tensorflow l2_normalize函数

2、tensorflow实现

import tensorflow as tf

a=tf.constant([[1,1],[2,2],[3,3]],dtype=tf.float32)

with tf.Session() as sess:
    print(sess.run(tf.nn.l2_normalize(a, [0])))
    sess.close()

输出结果:

[[ 0.26726124 0.26726124]
[ 0.53452247 0.53452247]
[ 0.80178368 0.80178368]]