1、使用滑动平均模型训练时,如果使用下列语句创建saver,滑动平均值的隐子变量的值,就会赋值给相应的同名变量。
一般使用滑动平均模型,测试阶段如下加载。
原始变量的值丢失,使用滑动平均值赋值
variable_averages = tf.train.ExponentialMovingAverage(t_config.moving_average_decay)
variables_to_restore = variable_averages.variables_to_restore()
saver = tf.train.Saver( variables_to_restore )
2、如果使用下列语句创建saver,变量的值,就是模型中保存的原始的权重,并不会使用滑动平均模型隐子变量的值
在训练阶段,如果是从中间结果,继续训练,需要使用如下语句创建saver。
原始变量的值和隐子变量的值都会存在
如果非要在测试阶段如下加载训练的滑动平均模型,就会加载原始变量的值,滑动平均值丢失
saver = tf.train.Saver()