tensorflow中,checkpoint和pb的区别和联系

本文介绍了TensorFlow中checkpoint和pb文件的区别与联系。checkpoint文件由tf.train.Saver()保存,包括四个子文件,用于恢复神经网络,但存在框架依赖和需重新定义网络结构的缺点。pb文件是谷歌推荐的模型保存方式,具有语言独立性和更小的文件大小,适用于跨平台和移动端。pb文件是MetaGraph的Protocol Buffer格式,包含MetaInfoDef、GraphDef、SaverDef和CollectionDef四部分信息。

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

1.checkpoint文件

1.1保存方式

tf.train.Saver()

1.2可以得到四个文件

checkpoint                  检查点文件

model.ckpt.data-xxx   保存的是参数的值

model.ckpt.index        保存的是各个参数

model.ckpt.meta        保存的是图的结构

1.3通过saver.restore()恢复整个神经网络

但是这种方式有几个缺点,首先这种模型文件是依赖 TensorFlow 的,只能在其框架下使用;其次,在恢复模型之前还需要再定义一遍网络结构,然后才能把变量的值恢复到网络中。

 

ps: 使用chpt也可以直接加载网络结构,不需要重新定义网络:

saver = tf.train.import_meta_graph('./ckpt/model.ckpt.meta') 

1.4保存和重现

使用tf.train.Saver()进行保存

使用saver.restore()进行重现

这一部分详见这一篇文章

2.pb文件

2.1优势

(1)谷歌推荐的保存模型的方式是保存模型为 PB 文件,它具有语言独立性,可独立运行,封闭的序列化格式,任何语言都可以解析它,它允许其他语言和深度学习框架读取、继续训练和迁移 TensorFlow 的模型&

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值