打印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 05 Python
Python字典,函数,全局变量代码解析
Dec 18 Python
python下解压缩zip文件并删除文件的实例
Apr 24 Python
python 创建一个空dataframe 然后添加行数据的实例
Jun 07 Python
python实现贪吃蛇小游戏
Mar 21 Python
pytorch索引查找 index_select的例子
Aug 18 Python
基于Python解密仿射密码
Oct 21 Python
基于tensorflow指定GPU运行及GPU资源分配的几种方式小结
Feb 03 Python
python GUI库图形界面开发之PyQt5美化窗体与控件(异形窗体)实例
Feb 25 Python
python转化excel数字日期为标准日期操作
Jul 14 Python
python获取本周、上周、本月、上月及本季的时间代码实例
Sep 08 Python
pycharm 实现调试窗口恢复
Feb 05 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
解析CI即CodeIgniter框架在Nginx下的重写规则
2013/06/03 PHP
10个超级有用值得收藏的PHP代码片段
2015/01/22 PHP
详解PHP的Yii框架中的Controller控制器
2016/03/29 PHP
PHP7生产环境队列Beanstalkd用法详解
2020/05/19 PHP
让iframe子窗体取父窗体地址栏参数(querystring)
2009/10/13 Javascript
javascript Keycode对照表
2009/10/24 Javascript
js实现Select下拉框具有输入功能的方法
2015/02/06 Javascript
javascript实现博客园页面右下角返回顶部按钮
2015/02/22 Javascript
程序员必知35个jQuery 代码片段
2015/11/05 Javascript
javascript实现很浪漫的气泡冒出特效
2020/09/05 Javascript
在Mac OS上安装使用Node.js的项目自动化构建工具Gulp
2016/06/18 Javascript
微信小程序 122100版本更新问题解决方案
2016/12/22 Javascript
Jquery EasyUI Datagrid右键菜单实现方法
2016/12/30 Javascript
JavaScript定义全局对象的方法示例
2017/01/12 Javascript
js实现自定义路由
2017/02/04 Javascript
webpack实用小功能介绍
2018/01/02 Javascript
css配合JavaScript实现tab标签切换效果
2018/10/11 Javascript
用Cordova打包Vue项目的方法步骤
2019/02/02 Javascript
深入了解JavaScript 防抖和节流
2019/09/12 Javascript
微信小程序开发摇一摇功能
2019/11/22 Javascript
node.js中npm包管理工具用法分析
2020/02/14 Javascript
Python实现监控Nginx配置文件的不同并发送邮件报警功能示例
2019/02/26 Python
Python实现时间序列可视化的方法
2019/08/06 Python
使用Python快乐学数学Github万星神器Manim简介
2019/08/07 Python
python 调试冷知识(小结)
2019/11/11 Python
在Python IDLE 下调用anaconda中的库教程
2020/03/09 Python
html5服务器推送_动力节点Java学院整理
2017/07/12 HTML / CSS
如何打印出当前源文件的文件名以及源文件的当前行号
2015/04/05 面试题
TCP/IP的分层模型
2013/10/27 面试题
英语感恩演讲稿
2014/01/14 职场文书
法人代表证明书格式
2014/10/01 职场文书
个人政治思想总结
2015/03/05 职场文书
房地产公司工程部经理岗位职责
2015/04/09 职场文书
《确定位置》教学反思
2016/02/18 职场文书
spring boot中nativeQuery的用法
2021/07/26 Java/Android
python百行代码实现汉服圈图片爬取
2021/11/23 Python