在 tf.slim 中,我使用了 batch_norm。
我的问题是:我是否需要明确地将依赖项添加到损失中?
我想,slim 知道我使用了 batch_norm,它是否已经自动将依赖添加到 loss 中?我很困扰。
在 tf.slim 中,我使用了 batch_norm。
我的问题是:我是否需要明确地将依赖项添加到损失中?
我想,slim 知道我使用了 batch_norm,它是否已经自动将依赖添加到 loss 中?我很困扰。
是的,你需要。
您能否按照此处的说明进行操作:
注意:训练时,moving_mean 和moving_variance 需要更新。默认情况下,更新操作放置在 中tf.GraphKeys.UPDATE_OPS
,因此需要将它们作为依赖项添加到train_op
. 例如:
update_ops = tf.get_collection(tf.GraphKeys.UPDATE_OPS)
with tf.control_dependencies(update_ops):
train_op = optimizer.minimize(loss)