[英]Restore intermediate checkpoint files of Tensorflow
Tensorflow版本= 1.8.0
我正在尝试使用Tensorflow中的中间检查点文件之一还原我的模型。 默认情况下,Tensorflow将采用最后保存的检查点文件。 例如,该文件夹包含以下文件:
检查点模型56000.index模型56000.data-00000-of-00001模型56000.meta模型57000.index模型57000.data-00000-of-00001模型57000.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)。 但是我不知道应该为last_filename写什么。 我尝试编写latest_filename = model-56000,但是没有加载模型。
我还尝试编写了latest_filename = model-56000.meta。 那也没有用。
因此,在Tensorflow中加载某些中间检查点文件的正确方法是什么。
ckpt文件名将为model-56000.ckpt
model-56000.meta
指向model-56000.meta
的元信息
model-56000
是ckpt,数据文件或元文件的文件名
好的,因此可以修改该检查点 protobuf文件并将该文件的第一行从: model_checkpoint_path:“ model-57000”更改为model_checkpoint_path:“ model-56000”广告,现在它加载了56K检查点。 寻找一些更好的方法来做到这一点。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.