tf的ckpt文件的v1和v2版本

本文详细解析了TensorFlow中checkpoint文件的两个版本:V1和V2,介绍了它们的保存方式、区别以及如何在代码中指定保存版本,对于理解模型保存与恢复过程具有重要指导意义。

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

tensorflow checkpoint文件的版本

根据官方的说明,checkpoint有两个版本:1和2

在0.12版本tensorflow更新了checkpoint版本,默认情况下写入和读取的checkpoint都是新的V2版本,新版本能够在restore过程中显著降低内存峰值。

两种版本模型保存方式如下:

v1v2
model.ckpt-66000model.ckpt-66000.index
model.ckpt-66000.metamodel.ckpt-66000.meta
model.ckpt-66000.data-00000-of-00001

更多关于0.xx版本和1.0以上版本的区别请看:https://blog.youkuaiyun.com/hfutdog/article/details/79333386

版本1

版本1保存ckpt时,有两个文件model.ckpt-xxx(包含了参数名和参数值)和model.ckpt-xxx.meta(图结构)

要读取该ckpt时,路径按平常写法写

版本2

版本2保存模型时,有三个文件model.ckpt-xxx.data(参数值)、model.ckpt-xxx.index(参数名)、model.ckpt-xxx.meta(图结构)

要读取该ckpt时,路径按只写三个文件的公共部分

保存版本的选择

TF默认保存为v2格式,保存的checkpoint的版本可以在创建saver的时候指定

import tensorflow as tf
from tensorflow.core.protobuf import saver_pb2
# 保存成v1版本
saver = tf.train.Saver(write_version=saver_pb2.SaverDef.V1)
# 保存成v2版本
saver = tf.train.Saver(write_version=saver_pb2.SaverDef.V2)

 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

从ckpt中恢复变量

虽然保存时有差别,但恢复时,两个版本都可以(但须注意不同版本的ckpt的路径书写方式不同)

v1
直接书写完整的ckpt文件的路径

v2
直接书写完整的ckpt文件的路径中的model.ckpt-xxx即可

        </div>
					<link href="https://csdnimg.cn/release/phoenix/mdeditor/markdown_views-258a4616f7.css" rel="stylesheet">
                  </div>
</article>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值