打印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的Django框架中编写编译函数
Jul 20 Python
Python读取网页内容的方法
Jul 30 Python
Python实现将不规范的英文名字首字母大写
Nov 15 Python
Python编程实现微信企业号文本消息推送功能示例
Aug 21 Python
深入理解Python单元测试unittest的使用示例
Nov 18 Python
10分钟教你用python动画演示深度优先算法搜寻逃出迷宫的路径
Aug 12 Python
python爬虫爬取幽默笑话网站
Oct 24 Python
如何基于pythonnet调用halcon脚本
Jan 20 Python
Tensorflow训练MNIST手写数字识别模型
Feb 13 Python
Python如何使用队列方式实现多线程爬虫
May 12 Python
Python3 pyecharts生成Html文件柱状图及折线图代码实例
Sep 29 Python
python 批量下载bilibili视频的gui程序
Nov 20 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
收音机的保养
2021/03/01 无线电
一个PHP模板,主要想体现一下思路
2006/12/25 PHP
php自动适应范围的分页代码
2008/08/05 PHP
支持中文的php加密解密类代码
2011/11/27 PHP
PHP 第二节 数据类型之转换
2012/04/28 PHP
基于PHP Socket配置以及实例的详细介绍
2013/06/13 PHP
彻底删除thinkphp3.1案例blog标签的方法
2014/12/05 PHP
jquery 常用操作整理 基础入门篇
2009/10/14 Javascript
JavaScript Memoization 让函数也有记忆功能
2011/10/27 Javascript
jquery必须知道的一些常用特效方法及使用示例(整理)
2013/06/24 Javascript
js为什么不能正确处理小数运算?
2015/12/29 Javascript
Javascript缓存API
2016/06/14 Javascript
Node.js Mongodb 密码特殊字符 @的解决方法
2017/04/11 Javascript
微信小程序 rich-text的使用方法
2017/08/04 Javascript
详解Vue-axios 设置请求头问题
2018/12/06 Javascript
详解Vue中组件传值的多重实现方式
2019/08/16 Javascript
vue-cli3跨域配置的简单方法
2019/09/06 Javascript
vue调用语音播放的方法
2019/09/27 Javascript
小程序怎样让wx.navigateBack更好用的方法实现
2019/11/01 Javascript
JavaScript鼠标悬停事件用法解析
2020/05/15 Javascript
vue实现移动端触屏拖拽功能
2020/08/21 Javascript
使用Python的Treq on Twisted来进行HTTP压力测试
2015/04/16 Python
Python利用WMI实现ping命令的例子
2019/08/14 Python
Python异常模块traceback用法实例分析
2019/10/22 Python
Python importlib动态导入模块实现代码
2020/04/16 Python
CSS3 box-shadow属性实例详解
2020/06/19 HTML / CSS
html5 canvas实现跟随鼠标旋转的箭头
2016/03/11 HTML / CSS
如何让IE9以下版本(ie6/7/8)认识html5元素
2013/04/01 HTML / CSS
TUMI香港官网:国际领先的行李箱、背囊品牌
2021/03/01 全球购物
传媒专业推荐信范文
2013/11/23 职场文书
大学生旅游业创业计划书
2014/01/29 职场文书
学生党支部先进事迹
2014/02/04 职场文书
协议书格式
2014/04/23 职场文书
操行评语大全
2014/04/30 职场文书
写给老师的感谢信
2015/01/20 职场文书
医护人员继续教育学习心得体会
2016/01/19 职场文书