繁体   English   中英

恢复Tensorflow的中间检查点文件

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM