我在网上找了一圈,发现并没有人很详细地介绍过tf.nn.l2_loss函数。
我今天来给大家解释并跑一下这个函数。
tf.nn.l2_loss(t, name=None)
解释:这个函数的作用是利用 L2 范数来计算张量的误差值,但是没有开方并且只取 L2 范数的值的一半,具体如下:
output = sum(t ** 2) / 2
代码:
import tensorflow as tf
a=tf.constant([1,2,3],dtype=tf.float32)
b=tf.constant([[1,1],[2,2],[3,3]],dtype=tf.float32)
with tf.Session() as sess:
print('a:')
print(sess.run(tf.nn.l2_loss(a)))
print('b:')
print(sess.run(tf.nn.l2_loss(b)))
输出:
a:
7.0
b:
14.0