我正在使用 l2_regularization Tensorflow 有 - tf.nn.l2_loss 我可以使用这个吗?
- K.sum(K.square(K.abs(权重)))
- tf.nn.l2_loss
我可以在 Keras(Tensorflow 后端)中互换使用它吗?
我正在使用 l2_regularization Tensorflow 有 - tf.nn.l2_loss 我可以使用这个吗?
我可以在 Keras(Tensorflow 后端)中互换使用它吗?
是的,你可以,但请记住tf.nn.l2_loss
计算output = sum(t ** 2) / 2
(来自文档),所以你忘记了乘以0.5
. 你也不必计算K.abs(weights)
,因为K.square(K.abs(weights)) == K.square(weights)
.
区别在于:
tf.nn.l2_loss
直接在内核中实现。
Keras 后端中的操作直接转换为此处定义的Tensorflow。