【发布时间】:2017-10-29 04:14:54
【问题描述】:
是否可以在使用 tf.layers 中定义的层时添加 L2 正则化?
在我看来,由于 tf.layers 是一个高级包装器,因此没有简单的方法可以访问过滤器权重。
使用 tf.nn.conv2d
regularizer = tf.contrib.layers.l2_regularizer(scale=0.1)
weights = tf.get_variable(
name="weights",
regularizer=regularizer
)
#Previous layers
...
#Second layer
layer 2 = tf.nn.conv2d(
input,
weights,
[1,1,1,1],
[1,1,1,1])
#More layers
...
#Loss
loss = #some loss
reg_variables = tf.get_collection(tf.GraphKeys.REGULARIZATION_LOSSES)
reg_term = tf.contrib.layers.apply_regularization(regularizer, reg_variables)
loss += reg_term
现在使用 tf.layers.conv2d 会是什么样子?
谢谢!
【问题讨论】:
标签: tensorflow