我在许多可用的使用TensorFlow实现的神经网络代码中发现,正则化项通常是通过在损失值中添加一个附加项来实现的。
我的问题是:
get_variable有一个论点,regularizer。它应该如何使用?根据我的观察,如果我们将正则化项传递给它(例如tf.contrib.layers.l2_regularizer ),将计算一个表示正则项的张量,并将其添加到一个名为tf.GraphKeys.REGULARIZATOIN_LOSSES的图集合中。该集合会被TensorFlow自动使用(例如,在培训时被优化器使用)?还是希望我自己使用这些藏品?发布于 2018-05-07 07:51:32
cross_entropy = tf.losses.softmax_cross_entropy(
logits=logits, onehot_labels=labels)
l2_loss = weight_decay * tf.add_n(
[tf.nn.l2_loss(tf.cast(v, tf.float32)) for v in tf.trainable_variables()])
loss = cross_entropy + l2_losshttps://stackoverflow.com/questions/37107223
复制相似问题