打印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 01 Python
python 输出上个月的月末日期实例
Apr 11 Python
Tensorflow中使用tfrecord方式读取数据的方法
Jun 19 Python
Python微信操控itchat的方法
May 31 Python
Python使用微信itchat接口实现查看自己微信的信息功能详解
Aug 22 Python
python类的实例化问题解决
Aug 31 Python
详解Django将秒转换为xx天xx时xx分
Sep 27 Python
pygame实现俄罗斯方块游戏(基础篇2)
Oct 29 Python
使用Python操作ArangoDB的方法步骤
Feb 02 Python
PyQt5-QDateEdit的简单使用操作
Jul 12 Python
python的数学算法函数及公式用法
Nov 18 Python
Python OpenCV中的numpy与图像类型转换操作
Dec 11 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
收音机发烧友应当熟知的100条知识
2021/03/02 无线电
如何分别全角和半角以避免乱码
2006/10/09 PHP
php+ajax做仿百度搜索下拉自动提示框(有实例)
2012/08/21 PHP
PHP操作XML中XPath的应用示例
2019/07/04 PHP
Thinkphp 框架扩展之标签库驱动原理与用法分析
2020/04/23 PHP
Javascript实现的分页函数
2006/12/22 Javascript
javascript 中对象的继承〔转贴〕
2007/01/22 Javascript
javascript 解决表单仍然提交即使监听处理函数返回false
2010/03/14 Javascript
jQuery中使用了document和window哪些属性和方法小结
2011/09/13 Javascript
JS中批量给元素绑定事件过程中的相关问题使用闭包解决
2013/04/15 Javascript
Jquery 实现表格颜色交替变化鼠标移过颜色变化实例
2013/08/28 Javascript
javascript date格式化示例
2013/09/25 Javascript
Jquery实现仿腾讯微博发表广播
2014/11/17 Javascript
14个有用的Jquery技巧分享
2015/01/08 Javascript
微信中一些常用的js方法汇总
2015/03/12 Javascript
jQuery插件EnPlaceholder实现输入框提示文字
2015/06/05 Javascript
js添加绑定事件的方法
2016/05/15 Javascript
JS去除空格和换行的正则表达式(推荐)
2016/06/14 Javascript
一步步教你利用Canvas对图片进行处理
2017/09/19 Javascript
vue scroller返回页面记住滚动位置的实例代码
2018/01/29 Javascript
微信小程序实现人脸识别登陆的示例代码
2019/04/02 Javascript
JavaScript实现图片的放大缩小及拖拽功能示例
2019/05/14 Javascript
小程序如何写动态标签的实现方法
2020/02/05 Javascript
[53:36]Liquid vs VP Supermajor决赛 BO 第三场 6.10
2018/07/05 DOTA
[45:59]EG vs OG 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
Python Socket编程入门教程
2014/07/11 Python
python通过wxPython打开一个音频文件并播放的方法
2015/03/25 Python
python os.path模块常用方法实例详解
2018/09/16 Python
基于Python2、Python3中reload()的不同用法介绍
2019/08/12 Python
数据库基础的一些面试题
2012/02/25 面试题
市政管理求职信范文
2014/05/07 职场文书
2014年审计人员工作总结
2014/12/19 职场文书
大二学年个人总结
2015/03/03 职场文书
民间借贷纠纷起诉书
2015/08/03 职场文书
2016年教师新年寄语
2015/08/18 职场文书
TypeScript 内置高级类型编程示例
2022/09/23 Javascript