打印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 相关文章推荐
浅谈MySQL中的触发器
May 05 Python
基于Python如何使用AIML搭建聊天机器人
Jan 27 Python
详解Python中的Descriptor描述符类
Jun 14 Python
Python使用PDFMiner解析PDF代码实例
Mar 27 Python
Python中表示字符串的三种方法
Sep 06 Python
Python面向对象基础入门之设置对象属性
Dec 11 Python
在Python中居然可以定义两个同名通参数的函数
Jan 31 Python
PyCharm 2019.3发布增加了新功能一览
Dec 08 Python
python已协程方式处理任务实现过程
Dec 27 Python
pygame用blit()实现动画效果的示例代码
May 28 Python
pytorch 查看cuda 版本方式
Jun 23 Python
python和node.js生成当前时间戳的示例
Sep 29 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 函数语法介绍一
2009/06/14 PHP
PHP 查找字符串常用函数介绍
2012/06/07 PHP
Linux下手动编译安装PHP扩展的例子分享
2014/07/15 PHP
PHP5.2下preg_replace函数的问题
2015/05/08 PHP
javascript 词法作用域和闭包分析说明
2010/08/12 Javascript
使用firebug进行调试javascript的示例
2013/12/16 Javascript
将查询条件的input、select清空
2014/01/14 Javascript
JS中FRAME的操作问题实例分析
2014/10/21 Javascript
jQuery判断对象是否存在的方法
2015/02/05 Javascript
js实现div拖动动画运行轨迹效果代码分享
2015/08/27 Javascript
jquery拖动层效果插件用法实例分析(附demo源码)
2016/04/28 Javascript
学习JavaScript图片预加载模块
2016/11/07 Javascript
加速vue组件渲染之性能优化
2020/04/09 Javascript
JS typeof fn === 'function' && fn()详解
2020/08/22 Javascript
vue路由的配置和页面切换详解
2020/09/09 Javascript
[36:13]Mineski vs iG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python图像处理之反色实现方法
2015/05/30 Python
Python编程中的for循环语句学习教程
2015/10/14 Python
Python中Collections模块的Counter容器类使用教程
2016/05/31 Python
Python中线程的MQ消息队列实现以及消息队列的优点解析
2016/06/29 Python
python中实现延时回调普通函数示例代码
2017/09/08 Python
python实现list由于numpy array的转换
2018/04/04 Python
python字符串Intern机制详解
2019/07/01 Python
python 通过视频url获取视频的宽高方式
2019/12/10 Python
pytorch点乘与叉乘示例讲解
2019/12/27 Python
Python 通过爬虫实现GitHub网页的模拟登录的示例代码
2020/08/17 Python
Python通过yagmail实现发送邮件代码解析
2020/10/27 Python
Python实现邮件发送的详细设置方法(遇到问题)
2021/01/18 Python
健康监测猫砂:Pretty Litter
2017/05/25 全球购物
公司租房协议书
2014/10/14 职场文书
作风建设年度心得体会
2014/10/29 职场文书
重温入党誓词主持词
2015/06/29 职场文书
聘任合同书
2015/09/21 职场文书
2016大学生入党积极分子心得体会
2016/01/06 职场文书
一文搞懂如何实现Go 超时控制
2021/03/30 Python
Docker官方工具docker-registry案例演示
2022/04/13 Servers