没有合适的资源?快使用搜索试试~ 我知道了~
首页详解TensorFlow查看ckpt中变量的几种方法
详解TensorFlow查看ckpt中变量的几种方法
12 下载量 126 浏览量
更新于2023-05-04
评论
收藏 41KB PDF 举报
查看TensorFlow中checkpoint内变量的几种方法 查看ckpt中变量的方法有三种: 在有model的情况下,使用tf.train.Saver进行restore 使用tf.train.NewCheckpointReader直接读取ckpt文件,这种方法不需要model。 使用tools里的freeze_graph来读取ckpt 注意: 如果模型保存为.ckpt的文件,则使用该文件就可以查看.ckpt文件里的变量。ckpt路径为 model.ckpt 如果模型保存为.ckpt-xxx-data (图结构)、.ckpt-xxx.index (参数名)、.ckpt-
资源详情
资源评论
资源推荐
详解详解TensorFlow查看查看ckpt中变量的几种方法中变量的几种方法
查看查看TensorFlow中中checkpoint内变量的几种方法内变量的几种方法
查看ckpt中变量的方法有三种:
在有model的情况下,使用tf.train.Saver进行restore
使用tf.train.NewCheckpointReader直接读取ckpt文件,这种方法不需要model。
使用tools里的freeze_graph来读取ckpt
注意:
如果模型保存为.ckpt的文件,则使用该文件就可以查看.ckpt文件里的变量。ckpt路径为 model.ckpt
如果模型保存为.ckpt-xxx-data (图结构)、.ckpt-xxx.index (参数名)、.ckpt-xxx-meta (参数值)文件,则需要同时拥有这三个文
件才行。并且ckpt的路径为 model.ckpt-xxx
1. 基于基于model来读取来读取ckpt文件里的变量文件里的变量
1.首先建立model
2.从ckpt中恢复变量
with tf.Graph().as_default() as g:
#建立model
images, labels = cifar10.inputs(eval_data=eval_data)
logits = cifar10.inference(images)
top_k_op = tf.nn.in_top_k(logits, labels, 1)
#从ckpt中恢复变量
sess = tf.Session()
saver = tf.train.Saver() #saver = tf.train.Saver(...variables...) # 恢复部分变量时,只需要在Saver里指定要恢复的变量
save_path = 'ckpt的路径'
saver.restore(sess, save_path) # 从ckpt中恢复变量
注意:基于model来读取ckpt中变量时,model和ckpt必须匹配。
2. 使用使用tf.train.NewCheckpointReader直接读取直接读取ckpt文件里的变量,使用文件里的变量,使用tools.inspect_checkpoint里的里的
print_tensors_in_checkpoint_file函数打印函数打印ckpt里的东西里的东西
#使用NewCheckpointReader来读取ckpt里的变量
from tensorflow.python import pywrap_tensorflow
checkpoint_path = os.path.join(model_dir, "model.ckpt")
reader = pywrap_tensorflow.NewCheckpointReader(checkpoint_path) #tf.train.NewCheckpointReader
var_to_shape_map = reader.get_variable_to_shape_map()
for key in var_to_shape_map:
print("tensor_name: ", key)
#print(reader.get_tensor(key))
#使用print_tensors_in_checkpoint_file打印ckpt里的内容
from tensorflow.python.tools.inspect_checkpoint import print_tensors_in_checkpoint_file
print_tensors_in_checkpoint_file(file_name, #ckpt文件名字
tensor_name, # 如果为None,则默认为ckpt里的所有变量
all_tensors, # bool 是否打印所有的tensor,这里打印出的是tensor的值,一般不推荐这里设置为False
all_tensor_names) # bool 是否打印所有的tensor的name
#上面的打印ckpt的内部使用的是pywrap_tensorflow.NewCheckpointReader所以,掌握NewCheckpointReader才是王道
3.使用使用tools里的里的freeze_graph来读取来读取ckpt
from tensorflow.python.tools import freeze_graph
freeze_graph(input_graph, #=some_graph_def.pb
input_saver,
input_binary,
input_checkpoint, #=model.ckpt
output_node_names, #=softmax
restore_op_name,
filename_tensor_name,
output_graph, #='./tmp/frozen_graph.pb'
clear_devices,
initializer_nodes,
variable_names_whitelist='',
weixin_38736562
- 粉丝: 5
- 资源: 1003
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- RTL8188FU-Linux-v5.7.4.2-36687.20200602.tar(20765).gz
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
- SPC统计方法基础知识.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0