为了账号安全,请及时绑定邮箱和手机立即绑定

恢复 Tensorflow 的中间检查点文件

恢复 Tensorflow 的中间检查点文件

开心每一天1111 2021-07-30 14:16:17
Tensorflow 版本 =1.8.0我正在尝试使用 Tensorflow 中的一个中间检查点文件来恢复我的模型。默认情况下,Tensorflow 将采用最后保存的检查点文件。例如,该文件夹包含以下文件:checkpoint model-56000.index model-56000.data-00000-of-00001 model-56000.meta model-57000.index model-57000.data-00000-of-00001 model-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)。但我想不通,我应该为 latest_filename 写什么。我尝试编写 latest_filename = model-56000 但这并没有加载模型。我也尝试编写 latest_filename = model-56000.meta。那也没有用。那么,在 Tensorflow 中加载一些中间检查点文件的正确方法是什么?
查看完整描述

2 回答

?
千巷猫影

TA贡献1829条经验 获得超7个赞

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


查看完整回答
反对 回复 2021-08-03
?
陪伴而非守候

TA贡献1757条经验 获得超8个赞

ckpt 文件名将是 model-56000.ckpt

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

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


查看完整回答
反对 回复 2021-08-03
  • 2 回答
  • 0 关注
  • 253 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号