L2-Regularization 实现的话,需要把所有的参数放在一个集合内,最后计算loss时,再减去加权值。
相比自己乱搞,代码一团糟,Tensorflow 提供了更优美的实现方法。
一、tf.GraphKeys : 多个包含Variables(Tensor)集合
(1)GLOBAL_VARIABLES:使用tf.get_variable()时,默认会将vairable放入这个集合。
我们熟悉的tf.global_variables_initializer()就是初始化这个集合内的Variables。
import tensorflow as tf
sess=tf.Session()
a=tf.get_variable("a",[3,3,32,64],initializer=tf.random_normal_initializer())
b=tf.get_variable("b",[64],initializer=tf.random_normal_initializer())
#collections=None等价于 collection=[tf.GraphKeys.GLOBAL_VARIABLES]
gv= tf.get_collection(tf.