我正在使用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)
我的代码设置了保存每个时期的模型,并应该按相应标签进行标记。然而,我注意到在训练的15个时期后,我只有最后五个时期(10、11、12、13、14)的检查点文件。文档没有提到这一点,所以我不知道为什么会发生这种情况。
是不是保存器只允许保留五个检查点文件,还是我的操作出错了?
有没有方法确保所有检查点都被保留?