【发布时间】:2017-09-10 21:50:31
【问题描述】:
在 tf.slim 中,我使用了 batch_norm。
我的问题是:我是否需要明确地将依赖添加到损失中?
我想,slim 知道我使用了 batch_norm,它是否已经自动将依赖添加到 loss 中?我很困惑。
【问题讨论】:
标签: tensorflow batch-normalization
在 tf.slim 中,我使用了 batch_norm。
我的问题是:我是否需要明确地将依赖添加到损失中?
我想,slim 知道我使用了 batch_norm,它是否已经自动将依赖添加到 loss 中?我很困惑。
【问题讨论】:
标签: tensorflow batch-normalization
是的,你需要。
你能按照说明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)
【讨论】: