tensorflow checkpoint文件的版本

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

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

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

tensorflow checkpoint文件的版本_第1张图片
更多关于0.xx版本和1.0以上版本的区别请看:https://blog.csdn.net/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)


从ckpt中恢复变量


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

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

v2
直接书写完整的ckpt文件的路径中的model.ckpt-xxx公共部分即可
--------------------- 
作者:黑暗星球 
来源:CSDN 
原文:https://blog.csdn.net/u014061630/article/details/80698843 
版权声明:本文为博主原创文章,转载请附上博文链接!

你可能感兴趣的:(Tensorflow)