【发布时间】:2016-06-09 17:53:15
【问题描述】:
有四个变量:gamma、beta、均值的移动平均值、方差的移动平均值。
是否需要对移动平均线进行快照,并在测试时加载它们?
一个更好的问题:
对于 tensorflow 中批量归一化的this implementation,我需要将 batch-mean 和 batch-var 从训练时间转移到测试时间吗?如果是这样,我怎样才能在 tensorflow 中实现这一点?
【问题讨论】:
有四个变量:gamma、beta、均值的移动平均值、方差的移动平均值。
是否需要对移动平均线进行快照,并在测试时加载它们?
一个更好的问题:
对于 tensorflow 中批量归一化的this implementation,我需要将 batch-mean 和 batch-var 从训练时间转移到测试时间吗?如果是这样,我怎样才能在 tensorflow 中实现这一点?
【问题讨论】:
是的 - 对于批量标准化的任何使用,您训练通过基于单个批次的统计数据进行标准化,然后您通过使用统计数据的长期平均值进行推理。 p>
您应该保存一份均值和方差保持变量的副本,并在进行测试时将其恢复。
不需要任何魔法:它们只是在您use the Saver 时将被保存和恢复的变量。
在您引用的具体实现中,documentation for tf.train.ExponentialMovingAverage 有一个具体示例,说明如何分别保存和恢复移动平均线用于训练和推理。
【讨论】: