打印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中正则的使用指南
Dec 04 Python
Python统计一个字符串中每个字符出现了多少次的方法【字符串转换为列表再统计】
May 05 Python
详解pytorch 0.4.0迁移指南
Jun 16 Python
django的聚合函数和aggregate、annotate方法使用详解
Jul 23 Python
在django admin中添加自定义视图的例子
Jul 26 Python
pytorch实现用CNN和LSTM对文本进行分类方式
Jan 08 Python
python 实现线程之间的通信示例
Feb 14 Python
PyCharm刷新项目(文件)目录的实现
Feb 14 Python
PyCharm 无法 import pandas 程序卡住的解决方式
Mar 09 Python
Python中的wordcloud库安装问题及解决方法
May 27 Python
Python unittest生成测试报告过程解析
Sep 08 Python
Python函数式编程中itertools模块详解
Sep 15 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
织梦模板标记简介
2007/03/11 PHP
PHP 简单数组排序实现代码
2009/08/05 PHP
PHP 开发环境配置(测试开发环境)
2010/04/28 PHP
PHP实现移除数组中为空或为某值元素的方法
2017/01/07 PHP
javascript(jquery)利用函数修改全局变量的代码
2009/11/02 Javascript
JQuery上传插件Uploadify使用详解及错误处理
2010/04/27 Javascript
javascript 全等号运算符使用说明
2010/05/31 Javascript
修改jquery里的dialog对话框插件为框架页(iframe) 的方法
2010/09/14 Javascript
理解Javascript_12_执行模型浅析
2010/10/18 Javascript
30个精美的jQuery幻灯片效果插件和教程
2011/08/23 Javascript
jQuery随机切换图片的小例子
2013/04/18 Javascript
JavaScript和CSS交互的方法汇总
2014/12/02 Javascript
js 函数式编程学习笔记
2017/03/25 Javascript
微信小程序表单弹窗实例
2018/07/19 Javascript
详解angular部署到iis出现404解决方案
2018/08/14 Javascript
vue配置nprogress实现页面顶部进度条
2019/09/21 Javascript
vue中beforeRouteLeave实现页面回退不刷新的示例代码
2019/11/01 Javascript
在vue中利用全局路由钩子给url统一添加公共参数的例子
2019/11/01 Javascript
JS实现容器模块左右拖动效果
2020/01/14 Javascript
vue中解决微信html5原生ios虚拟键返回不刷新问题
2020/10/20 Javascript
解决vue下载后台传过来的乱码流的问题
2020/12/05 Vue.js
python实现哈希表
2014/02/07 Python
python递归法解决棋盘分割问题
2019/07/17 Python
关于Pytorch MaxUnpool2d中size操作方式
2020/01/03 Python
Python爬取微信小程序通用方法代码实例详解
2020/09/29 Python
python 使用cycle构造无限循环迭代器
2020/12/02 Python
Foot Locker意大利官网:全球领先的运动鞋和服装零售商
2017/05/30 全球购物
研究生自我鉴定范文
2013/10/30 职场文书
国家助学金获奖感言
2014/01/31 职场文书
求职毕业生自荐书
2014/02/08 职场文书
市场营销专业应届生自荐信
2014/06/19 职场文书
硕士生找工作求职信
2014/07/05 职场文书
信仰观后感
2015/06/03 职场文书
写给同事的离职感言
2015/08/04 职场文书
创业计划书之校园跑腿公司
2019/09/24 职场文书
阿里云服务器搭建Php+Apache运行环境的详细过程
2021/05/15 PHP