在tf.slim中,我使用了batch_norm。
我的问题是:我是否需要明确地将依赖项添加到损失中?
我认为,苗条知道我已经使用了batch_norm,它是否已经自动添加了对丢失的依赖?我很困惑。
答案 0 :(得分:0)
是的,你需要。
您是否可以按照here:
的说明操作注意:训练时,需要更新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)