tf.train.get_checkpoint_state始终为None

时间:2017-08-10 09:41:46

标签: tensorflow

我正在使用tf.train.get_checkpoint_state来检查我是否有一个有效的检查点文件来恢复Tensorflow保存的模型。

ckpt = tf.train.get_checkpoint_state(os.path.dirname('fi/saves'))
if ckpt and ckpt.model_checkpoint_path:
   saver.restore(sess, ckpt.model_checkpoint_path)  

我的问题是ckpt始终为None。以下是我的保存目录的内容:

  • internals.pkl
  • stats.json
  • variables.ckpt.data-00000-的-00001
  • variables.ckpt.index

请注意,直接恢复通话效果很好。

编辑:

我尝试过使用这样的latest_filename参数:

tf.train.get_checkpoint_state(os.path.dirname(checkpoint_dir), latest_filename='variables.ckpt.index')  

我仍然没有。

1 个答案:

答案 0 :(得分:3)

我发现tf.train.get_checkpoint_state会查找检查点文件。

我没有这个文件,因为我在保存时这样做:

saver.save(sess, variables_file_path, write_meta_graph=False, write_state=False)

而不是:

saver.save(sess, variables_file_path, write_meta_graph=False, write_state=True)  # write state is true by default.

现在可以了!