打印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实现根据窗口标题调用窗口的方法
Mar 13 Python
Python中IPYTHON入门实例
May 11 Python
基于ID3决策树算法的实现(Python版)
May 31 Python
Win7下Python与Tensorflow-CPU版开发环境的安装与配置过程
Jan 04 Python
Python实现的随机森林算法与简单总结
Jan 30 Python
python selenium firefox使用详解
Feb 26 Python
Python实现爬取亚马逊数据并打印出Excel文件操作示例
May 16 Python
如何利用Anaconda配置简单的Python环境
Jun 24 Python
python实现微信自动回复及批量添加好友功能
Jul 03 Python
Matplotlib绘制雷达图和三维图的示例代码
Jan 07 Python
matplotlib基础绘图命令之bar的使用方法
Aug 13 Python
Python OpenCV超详细讲解调整大小与图像操作的实现
Apr 02 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
新的一年,新的期待:DC在2020年的四部动画电影
2020/01/01 欧美动漫
php实现的SESSION类
2014/12/02 PHP
php数据库操作model类(使用__call方法)
2016/11/16 PHP
PHP-FPM 的管理和配置详解
2019/02/17 PHP
浅谈PHP各环境下的伪静态配置
2019/03/13 PHP
javascript日期转换 时间戳转日期格式
2011/11/05 Javascript
jQuery实现冻结表格行和列
2015/04/29 Javascript
理解javascript中的原型和原型链
2015/07/30 Javascript
Javascript实现图片轮播效果(二)图片序列节点的控制实现
2016/02/17 Javascript
微信小程序 label 组件详解及简单实例
2017/01/10 Javascript
Bootstrap 响应式实用工具实例详解
2017/03/29 Javascript
浅谈AngularJs 双向绑定原理(数据绑定机制)
2017/12/07 Javascript
详解webpack多页面配置记录
2018/01/22 Javascript
JavaScript私有变量实例详解
2019/01/24 Javascript
Vue scrollBehavior 滚动行为实现后退页面显示在上次浏览的位置
2019/05/27 Javascript
JavaScript中将值转换为字符串的五种方法总结
2019/06/06 Javascript
解决elementui表格操作列自适应列宽
2020/12/28 Javascript
Python的dict字典结构操作方法学习笔记
2016/05/07 Python
Python的for和break循环结构中使用else语句的技巧
2016/05/24 Python
Python实现脚本锁功能(同时只能执行一个脚本)
2017/05/10 Python
Python3 replace()函数使用方法
2018/03/19 Python
python并发和异步编程实例
2018/11/15 Python
计算机二级python学习教程(2) python语言基本语法元素
2019/05/16 Python
python Pandas如何对数据集随机抽样
2019/07/29 Python
Python装饰器结合递归原理解析
2020/07/02 Python
详解Python 循环嵌套
2020/07/09 Python
用CSS3实现无限循环的无缝滚动的实例代码
2017/07/04 HTML / CSS
解决CSS3 transition-delay 属性默认值0不带单位失效的问题
2020/10/29 HTML / CSS
详解使用postMessage解决iframe跨域通信问题
2019/11/01 HTML / CSS
员工考核管理制度
2014/02/02 职场文书
2014植树节活动总结
2014/03/11 职场文书
文化宣传方案
2014/03/13 职场文书
关于环保的演讲稿
2014/05/10 职场文书
道德演讲稿
2014/05/21 职场文书
个人校本研修方案
2014/05/26 职场文书
大学毕业生推荐信
2014/07/09 职场文书