打印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提取页面内url列表的方法
May 25 Python
wxPython中listbox用法实例详解
Jun 01 Python
Python操作串口的方法
Jun 17 Python
Django 2.0版本的新特性抢先看!
Jan 05 Python
Python画柱状统计图操作示例【基于matplotlib库】
Jul 04 Python
django.db.utils.ProgrammingError: (1146, u“Table‘’ doesn’t exist”)问题的解决
Jul 13 Python
python3安装crypto出错及解决方法
Jul 30 Python
python实现抠图给证件照换背景源码
Aug 20 Python
pandas实现导出数据的四种方式
Dec 13 Python
Django视图类型总结
Feb 17 Python
Python制作动态字符画的源码
Aug 04 Python
基于Python实现将列表数据生成折线图
Mar 23 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
PHP和Mysqlweb应用开发核心技术 第1部分 Php基础-3 代码组织和重用2
2011/07/03 PHP
PHP中常见的缓存技术实例分析
2015/09/23 PHP
YII2 实现多语言配置的方法分享
2017/01/11 PHP
Laravel ORM 数据model操作教程
2019/10/21 PHP
js阻止事件追加的具体实现
2014/10/15 Javascript
JavaScript判断前缀、后缀是否是空格的方法
2015/04/15 Javascript
JS实现仿雅虎首页快捷登录入口及导航模块效果
2015/09/19 Javascript
jquery对复选框(checkbox)的操作汇总
2016/01/13 Javascript
js实现上一页下一页的效果【附代码】
2016/03/10 Javascript
jQuery操作属性和样式详解
2016/04/13 Javascript
jQuery Ztree行政地区树状展示(点击加载)
2016/11/09 Javascript
你不知道的 javascript【推荐】
2017/01/08 Javascript
Bootstarp 基础教程之表单部分实例代码
2017/02/03 Javascript
anime.js 实现带有描边动画效果的复选框(推荐)
2017/12/24 Javascript
js中getBoundingClientRect的作用及兼容方案详解
2018/02/01 Javascript
JavaScript 判断对象中是否有某属性的常用方法
2018/06/14 Javascript
详解无限滚动插件vue-infinite-scroll源码解析
2019/05/12 Javascript
vue路由守卫+登录态管理实例分析
2019/05/21 Javascript
对node通过fs模块判断文件是否是文件夹的实例讲解
2019/06/10 Javascript
JavaScript实现简单进度条效果
2020/03/25 Javascript
详解vite2.0配置学习(typescript版本)
2021/02/25 Javascript
分析Python中解析构建数据知识
2018/01/20 Python
Python 3.7新功能之dataclass装饰器详解
2018/04/21 Python
使用pip发布Python程序的方法步骤
2018/10/11 Python
Series和DataFrame使用简单入门
2019/11/13 Python
pytorch 求网络模型参数实例
2019/12/30 Python
Django接收照片储存文件的实例代码
2020/03/07 Python
如何通过python检查文件是否被占用
2020/12/18 Python
CSS3实现多重边框的方法总结
2016/05/31 HTML / CSS
100%有机精油,美容油:House of Pure Essence
2018/10/30 全球购物
颇特女士香港官网:NET-A-PORTER香港
2021/03/08 全球购物
大学生实习期自我评价范文
2013/10/03 职场文书
教师个人发展总结
2015/02/11 职场文书
创业计划书之餐饮馄饨店
2019/07/18 职场文书
golang 实现并发求和
2021/05/08 Golang
Python Pygame实战之塔防游戏的实现
2022/03/17 Python