打印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连接sql server乱码的解决方法
Jan 28 Python
Python环境下安装使用异步任务队列包Celery的基础教程
May 07 Python
python解决Fedora解压zip时中文乱码的方法
Sep 18 Python
python分块读取大数据,避免内存不足的方法
Dec 10 Python
详解Python logging调用Logger.info方法的处理过程
Feb 12 Python
Python中最大递归深度值的探讨
Mar 05 Python
int在python中的含义以及用法
Jun 27 Python
django框架事务处理小结【ORM 事务及raw sql,customize sql 事务处理】
Jun 27 Python
python交易记录链的实现过程详解
Jul 03 Python
tensorflow实现tensor中满足某一条件的数值取出组成新的tensor
Jan 04 Python
python3让print输出不换行的方法
Aug 24 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
解决phpmyadmin中文乱码问题。。。
2007/01/18 PHP
那些年我们错过的魔术方法(Magic Methods)
2014/01/14 PHP
微信公众平台开发(五) 天气预报功能开发
2016/12/03 PHP
Yii框架的布局文件实例分析
2019/09/04 PHP
laravel excel 上传文件保存到本地服务器功能
2019/11/14 PHP
网页javascript精华代码集
2007/01/24 Javascript
JavaScript获取鼠标移动时的坐标(兼容IE8、chome谷歌、Firefox)
2014/09/13 Javascript
js实现带关闭按钮始终显示在网页最底部工具条的方法
2015/03/02 Javascript
js面向对象之常见创建对象的几种方式(工厂模式、构造函数模式、原型模式)
2015/11/09 Javascript
js判断当前页面在移动设备还是在PC端中打开
2016/01/06 Javascript
JS控制div跳转到指定的位置的几种解决方案总结
2016/11/05 Javascript
Extjs gridpanel 中的checkbox(复选框)根据某行的条件不能选中的解决方法
2017/02/17 Javascript
基于AngularJS实现表单验证功能
2017/07/28 Javascript
JavaScript调试之console.log调试的一个小技巧分享
2017/08/07 Javascript
VUE实现可随意拖动的弹窗组件
2018/09/25 Javascript
javascript设计模式 ? 组合模式原理与应用实例分析
2020/04/14 Javascript
Python实现爬取百度贴吧帖子所有楼层图片的爬虫示例
2018/04/26 Python
pandas 数据实现行间计算的方法
2018/06/08 Python
对python中的 os.mkdir和os.mkdirs详解
2018/10/16 Python
对pycharm 修改程序运行所需内存详解
2018/12/03 Python
Python3.5面向对象程序设计之类的继承和多态详解
2019/04/24 Python
python3 property装饰器实现原理与用法示例
2019/05/15 Python
Pytorch之view及view_as使用详解
2019/12/31 Python
Python OpenCV读取显示视频的方法示例
2020/02/20 Python
python如何调用java类
2020/07/05 Python
Django中如何用xlwt生成表格的方法步骤
2021/01/31 Python
matplotlib交互式数据光标mpldatacursor的实现
2021/02/03 Python
可以随进度显示不同颜色的css3进度条分享
2014/04/11 HTML / CSS
美国女性运动零售品牌:Lady Foot Locker
2017/05/12 全球购物
美国用餐电影院:Alamo Drafthouse Cinema
2020/01/23 全球购物
大学毕业的自我鉴定
2013/10/08 职场文书
优秀辅导员事迹材料
2014/02/16 职场文书
《春雨》教学反思
2014/04/24 职场文书
优秀共产党员推荐材料
2014/12/18 职场文书
Sleuth+logback 设置traceid 及自定义信息方式
2021/07/26 Java/Android
Python中的程序流程控制语句
2022/02/24 Python