深度学习TensorFlow里的checkpoint

TensorFlow的checkpoint文件用于保存模型的中间状态,方便中断后继续训练。.ckpt.meta文件存储神经网络结构,不包含变量值;.ckpt.data文件保存变量值,不包含结构;.ckpt.index描述变量与值的对应。恢复模型时,需先导入.meta文件再导入.data文件。这确保模型能正确匹配参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

刚入门深度学习的时候,对TensorFlow项目里的checkpoint比较好奇(一般是后缀.pth的文件),于是上网搜寻了相关资料。

机器学习里面保存的模型checkpoint文件里面到底是什么东东? - 知乎

简单地说,在使用tensorflow跑模型的时候,我们不可能一次跑完,中间要保存一下的(就像写文章中间要保存下草稿)。因此checkpoint其实就是保存下来的中间模型。

保存了TensorFlow 模型之后,我们会得到如下图所示的4个文件:

checkpoint中包含了需要加载模型的目录,需要根据实际地址修改一下。

.ckpt.meta”是一个protocol buffer,用于保存完整的Tensorflow图/完整的神经网络结构图; 即所有变量,操作,集合等。也就是你能在tensorboard/graph中看见的内容。但是不包含变量的值,也就是说TensorFlow是把图结构和变量值分开储存的。

“.ckpt.data”保存了所有的变量的值/已训练好的变量参数/网络权重值,但是不包含结构。

ckpt.index”描述了variable中key和value的对应关系。

如果要在python中恢复一个模型,我们只需要使用同时用到meta和data文件:

with tf.Session() as sess:
    saver = tf.train.import_meta_graph('/tmp/model.ckpt.meta')
    saver.restore(sess, "/tmp/model.ckpt")

在这里,我们需要先导入.meta文件,再导入.data文件,否则模型不知道如何把checkpoint里面的值对应到变量上。



 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值