打印tensorflow恢复模型中所有变量与操作节点方式


Posted in Python onMay 26, 2020

我就废话不多说了,大家还是直接看代码吧!

#参数恢复
    self.sess=tf.Session()
    saver = tf.train.import_meta_graph(os.path.join(model_fullpath,'model.ckpt-7.meta'))
    module_file = tf.train.latest_checkpoint(model_fullpath)
    saver.restore(self.sess, module_file)
    variable_names = [v.name for v in tf.trainable_variables()]
    variable_names = [v.name for v in tf.global_variables()]
    values = self.sess.run(variable_names)
    i=0
    for k, v in zip(variable_names, values):
      i+=1
      if k.find('encode')!=-1:
        print(f"第 {i} 个variable")
        print("Variable: ", k)
        print("Shape: ", v.shape)
        print(v)
    graph = tf.get_default_graph()
    all_ops = graph.get_operations()
    for el in all_ops:
      print(el.name)

输出结果:

打印tensorflow恢复模型中所有变量与操作节点方式

补充知识:TensorFlow:.ckpt文件与.ckpt.meta和.ckpt.index以及.pb文件之间的关系是什么?

再使用 tf.train.Saver() 保存参数通常会生成以下文件

打印tensorflow恢复模型中所有变量与操作节点方式

那么这些文件具体是什么呢?

.ckpt文件:是旧版本的输出saver.save(sess),相当于你的.ckpt-data

“checkpoint”:文件仅用于告知某些TF函数,这是最新的检查点文件。

.ckpt-meta:包含元图,即计算图的结构,没有变量的值(基本上你可以在tensorboard / graph中看到)。

.ckpt-data:包含所有变量的值,没有结构。

.ckpt-index:可能是内部需要的某种索引来正确映射前两个文件,它通常不是必需的

你可以只用 .ckpt-meta 和恢复一个模型 .ckpt-data

要在python中恢复模型,您通常会使用元数据和数据文件(但您也可以使用该.pb文件):

saver = tf.train.import_meta_graph(path_to_ckpt_meta) saver.restore(sess, path_to_ckpt_data)

该.pb文件可以保存您的整个图表(元+数据)

要在c ++中加载和使用(但不训练)图形,您通常会使用它来创建freeze_graph,它会.pb从元数据和数据创建文件。

要小心,(至少在以前的TF版本和某些人中)py提供的功能freeze_graph不能正常工作,所以你必须使用脚本版本。

以上这篇打印tensorflow恢复模型中所有变量与操作节点方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
详解Python的Django框架中的模版相关知识
Jul 15 Python
举例讲解Python编程中对线程锁的使用
Jul 12 Python
python3解析库lxml的安装与基本使用
Jun 27 Python
对pandas数据判断是否为NaN值的方法详解
Nov 06 Python
PyTorch搭建一维线性回归模型(二)
May 22 Python
pytorch 固定部分参数训练的方法
Aug 17 Python
Python 闭包,函数分隔作用域,nonlocal声明非局部变量操作示例
Oct 14 Python
Python实现socket非阻塞通讯功能示例
Nov 06 Python
基于Keras 循环训练模型跑数据时内存泄漏的解决方式
Jun 11 Python
使用Python下载抖音各大V视频的思路详解
Feb 06 Python
python 使用openpyxl读取excel数据
Feb 18 Python
Python Matplotlib库实现画局部图
Nov 17 Python
tensorflow模型的save与restore,及checkpoint中读取变量方式
May 26 #Python
tensorflow从ckpt和从.pb文件读取变量的值方式
May 26 #Python
Pytorch转keras的有效方法,以FlowNet为例讲解
May 26 #Python
Django+Celery实现动态配置定时任务的方法示例
May 26 #Python
python删除某个目录文件夹的方法
May 26 #Python
Pytorch使用PIL和Numpy将单张图片转为Pytorch张量方式
May 25 #Python
Pytorch转onnx、torchscript方式
May 25 #Python
You might like
大家未必知道的Js技巧收藏
2008/04/07 Javascript
jquery checkbox全选、取消全选实现代码
2010/03/05 Javascript
javascript陷阱 一不小心你就中招了(字符运算)
2013/11/10 Javascript
JavaScript 判断用户输入的邮箱及手机格式是否正确
2013/12/08 Javascript
Angular 路由route实例代码
2016/07/12 Javascript
Bootstrap Search Suggest使用例子
2016/12/21 Javascript
VUE开发一个图片轮播的组件示例代码
2017/03/06 Javascript
JavaScript实现时间表动态效果
2017/07/15 Javascript
javascript中神奇的 Date对象小结
2017/10/12 Javascript
vue中路由参数传递可能会遇到的坑
2017/12/07 Javascript
nodejs acl的用户权限管理详解
2018/03/14 NodeJs
VuePress 快速踩坑小结
2019/02/14 Javascript
移动端底部导航固定配合vue-router实现组件切换功能
2019/06/13 Javascript
JS实现网站吸顶条
2020/01/08 Javascript
基于vue的video播放器的实现示例
2021/02/19 Vue.js
[01:45]典藏宝瓶2+祈求者身心——这就是DOTA2TI9总奖金突破3000万美元的秘密
2019/07/21 DOTA
Python 实现简单的电话本功能
2015/08/09 Python
python如何查看系统网络流量的信息
2016/09/12 Python
使用Python对Excel进行读写操作
2017/03/30 Python
对Python3中列表乘以某一个数的示例详解
2019/07/20 Python
微信公众号token验证失败解决方案
2019/07/22 Python
你还在@微信官方?聊聊Python生成你想要的微信头像
2019/09/25 Python
python 计算积分图和haar特征的实例代码
2019/11/20 Python
Python的历史与优缺点整理
2020/05/26 Python
python使用openpyxl操作excel的方法步骤
2020/05/28 Python
mac安装python3后使用pip和pip3的区别说明
2020/09/01 Python
CSS3的Flexbox布局的简明入门指南
2016/04/08 HTML / CSS
SIDESTEP荷兰:在线购买鞋子
2019/11/18 全球购物
应用心理学个人求职信范文
2013/12/11 职场文书
超市优秀员工事迹材料
2014/05/01 职场文书
放飞理想演讲稿
2014/09/09 职场文书
领导班子奢靡之风查摆问题及整改措施
2014/09/27 职场文书
2014年人力资源部工作总结
2014/11/19 职场文书
2016年师德先进个人事迹材料
2016/02/29 职场文书
Python中Permission denied的解决方案
2021/04/02 Python
JS如何实现基于websocket的多端桥接平台
2021/05/14 Javascript