首页 > 其他 > 详细

TensorFlow中的L2正则化函数:tf.nn.l2_loss()与tf.contrib.layers.l2_regularizerd()的用法与异同

时间:2020-02-24 19:55:14      阅读:1103      评论:0      收藏:0      [点我收藏+]

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()的用法与异同

原文:https://www.cnblogs.com/panda-blog/p/12358404.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!