【发布时间】:2018-05-24 01:50:42
【问题描述】:
我对 TensorFlow 很陌生,不知道如何解决这个关于更改优化器的简单问题。
例如,我想在恢复模型后将“AdamOptimizer”更改为“MomentumOptimizer”。
# optimizer = tf.train.AdamOptimizer(self.learning_rate)
optimizer = tf.train.MomentumOptimizer(learning_rate=self.learning_rate, momentum=0.8)
如果将“self.saver = tf.train.Saver(tf.global_variables())”放在优化器之后,则会像这样引发 NotFoundError。
NotFoundError(回溯见上文):key dynamic_seq2seq/decoder/attention/attention_layer/kernel/Momentum not found in checkpoint
如果将“self.saver = tf.train.Saver(tf.global_variables())”放在优化器之前,在模型加载并开始训练后,会像这样引发 FailedPreconditionError。
FailedPreconditionError(回溯见上文):尝试使用未初始化的值 dynamic_seq2seq/decoder/memory_layer/kernel/Momentum
并且在这些代码之后调用了“saver.restore(session, model_file)”。
在 TensorFlow 中,如何在成功恢复模型且没有错误的情况下更改优化器?
【问题讨论】:
标签: python optimization tensorflow