TensorFlow中的L2正则化函数:tf.nn.l2_loss()与tf.contrib.layers.l2_regularizerd()的用法与异同
Posted panda-blog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TensorFlow中的L2正则化函数:tf.nn.l2_loss()与tf.contrib.layers.l2_regularizerd()的用法与异同相关的知识,希望对你有一定的参考价值。
tf.nn.l2_loss()与tf.contrib.layers.l2_regularizerd()都是TensorFlow中的L2正则化函数,tf.contrib.layers.l2_regularizerd()函数在tf 2.x版本中被弃用了。
两者都能用来L2正则化处理,但运算有一点不同。
import tensorflow as tf sess = InteractiveSession() a = tf.constant([1, 2, 3], dtype=tf.float32) b = tf.nn.l2_loss(a) print(b.eval()) # 7.0
# tf.nn.l2_loss 运算是每个数的平方和再除以二
# b = (12+22+33)/2 =7.0
而tf.contrib.layers.l2_regularizerd()的运算是每个数的平方和 开根号 再除以二,即(12+22+33)0.5 /2
我的tf版本没法用l2_regularizerd函数,就没演示代码了。
tf.nn.l2_loss
以上是关于TensorFlow中的L2正则化函数:tf.nn.l2_loss()与tf.contrib.layers.l2_regularizerd()的用法与异同的主要内容,如果未能解决你的问题,请参考以下文章