【发布时间】:2016-11-10 22:16:59
【问题描述】:
我正在使用 tensorflow,并且一直在训练一些模型,并在每个 epoch 之后使用 tf.saver() 方法保存它们。我能够很好地保存和加载模型,并且我正在以通常的方式执行此操作。
with tf.Graph().as_default(), tf.Session() as session:
initialiser = tf.random_normal_initializer(config.mean, config.std)
with tf.variable_scope("model",reuse=None, initializer=initialiser):
m = a2p(session, config, training=True)
saver = tf.train.Saver()
ckpt = tf.train.get_checkpoint_state(model_dir)
if ckpt and tf.gfile.Exists(ckpt.model_checkpoint_path)
saver.restore(session, ckpt.model_checkpoint_path)
...
for i in range(epochs):
runepoch()
save_path = saver.save(session, '%s.ckpt'%i)
我的代码设置为为每个 epoch 保存一个模型,该模型应该被相应地标记。但是,我注意到在十五个时期的训练之后,我只有最后五个时期(10、11、12、13、14)的检查点文件。文档没有说明这一点,所以我不知道为什么会这样。
保护程序只允许保留五个检查点还是我做错了什么?
有没有办法确保保留所有检查点?
【问题讨论】:
-
默认为5,可在Saver构造函数中自定义
标签: python-2.7 tensorflow