恢复Tensorflow的中间检查点文件



Tensorflow版本=1.8.0

我正在尝试使用Tensorflow中的一个中间检查点文件来恢复我的模型。默认情况下,Tensorflow将获取最后保存的检查点文件。例如,文件夹包含以下文件:

检查点型号-56000.索引型号-56000.data-00000-of00001型号-56000.meta型号-57000.索引型号-57000.data-00000-of000001型号-5700.meta

默认情况下,Tensorflow加载最后一个57K检查点,但出于某些原因,我想加载56K检查点的权重。以下是我恢复模型的代码:

def load_G(self, checkpoint_dir):
print(" [*] Reading checkpoints of G...")
ckpt = tf.train.get_checkpoint_state(checkpoint_dir)
if ckpt and ckpt.model_checkpoint_path:
ckpt_name = os.path.basename(ckpt.model_checkpoint_path)
self.saver_gen.restore(self.sess, os.path.join(checkpoint_dir, ckpt_name))
return True
else:
return False

从Tensorflow的页面中,我读到对于tf.train.get_checkpoint_state((,我可以指定tf.train.get_checkpoint_state(checkpoint_dir,latest_filename=None(。但我不知道,我应该为latest_filename写些什么。我试着写latest_filename=model-56000但这并没有加载模型。

我还试着写latest_filename=model-56000.meta,但也没用。

那么,在Tensorflow中加载一些中间检查点文件的正确方法是什么呢。

好的,所以破解是修改检查点protobuf文件,并将该文件的第一行从:model_checkpoint_path:"model-57000">更改为model _checkpoint-path:"model-56000">ad现在加载56K检查点。寻找一些更好的方法来做到这一点。

ckpt文件名将为model-56000.ckpt

model-56000.meta指向ckpt 的元信息

model-56000是ckpt、数据文件或元文件的文件名

最新更新