打印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 isinstance函数介绍
Apr 14 Python
python 中random模块的常用方法总结
Jul 08 Python
Django 使用logging打印日志的实例
Apr 28 Python
对python PLT中的image和skimage处理图片方法详解
Jan 10 Python
使用Python 统计高频字数的方法
Jan 31 Python
Python字典对象实现原理详解
Jul 01 Python
python django 原生sql 获取数据的例子
Aug 14 Python
Django对models里的objects的使用详解
Aug 17 Python
python groupby 函数 as_index详解
Dec 16 Python
python实现PCA降维的示例详解
Feb 24 Python
Python读取VOC中的xml目标框实例
Mar 10 Python
OpenCV图片漫画效果的实现示例
Aug 18 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无限分类(树形类)
2013/09/28 PHP
分享一个漂亮的php验证码类
2016/09/29 PHP
php PDO判断连接是否可用的实现方法
2017/04/03 PHP
PHP里面把16进制的图片数据显示在html的img标签上(实现方法)
2017/05/02 PHP
php mysql PDO 查询操作的实例详解
2017/09/23 PHP
FCK调用方法..
2006/12/21 Javascript
十分钟打造AutoComplete自动完成效果代码
2009/12/26 Javascript
javascript学习之闭包分析
2010/12/02 Javascript
基于jquery的滚动条滚动固定div(附演示下载)
2012/10/29 Javascript
jQuery编辑器KindEditor4.1.4代码高亮显示设置教程
2013/03/01 Javascript
两种方法实现文本框输入内容提示消失
2013/03/17 Javascript
Extjs Label的 fieldLabel和html属性值对齐的方法
2014/06/15 Javascript
深入理解JavaScript中为什么string可以拥有方法
2016/05/24 Javascript
Angularjs 创建可复用组件实例代码
2016/10/09 Javascript
ES6新特性之变量和字符串用法示例
2017/04/01 Javascript
vue-cli + sass 的正确打开方式图文详解
2017/10/27 Javascript
javaScript强制保留两位小数的输入数校验和小数保留问题
2018/05/09 Javascript
webpack@v4升级踩坑(小结)
2018/10/08 Javascript
mocha的时序规则讲解
2019/02/16 Javascript
VUE 实现复制内容到剪贴板的两种方法
2019/04/24 Javascript
express + jwt + postMan验证实现持久化登录
2019/06/05 Javascript
Python实现查找数组中任意第k大的数字算法示例
2019/01/23 Python
pyqt5之将textBrowser的内容写入txt文档的方法
2019/06/21 Python
Python3显示当前时间、计算时间差及时间加减法示例代码
2019/09/07 Python
使用python切片实现二维数组复制示例
2019/11/26 Python
Python下利用BeautifulSoup解析HTML的实现
2020/01/17 Python
jupyter 导入csv文件方式
2020/04/21 Python
3种适用于Python的疯狂秘密武器及原因解析
2020/04/29 Python
美国著名的女性内衣零售商:Frederick’s of Hollywood
2018/02/24 全球购物
房产公证书范本
2014/04/10 职场文书
安全生产管理责任书
2014/04/16 职场文书
单位委托函范文
2015/01/29 职场文书
导游词格式
2015/02/13 职场文书
2015年公司后勤管理工作总结
2015/05/13 职场文书
《只有一个地球》教学反思
2016/02/16 职场文书
解决Nginx 配置 proxy_pass 后 返回404问题
2021/03/31 Servers