打印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生成随机密码的示例分享
Feb 18 Python
浅析Python中的for 循环
Jun 09 Python
windows10下python3.5 pip3安装图文教程
Apr 02 Python
tensorflow 用矩阵运算替换for循环 用tf.tile而不写for的方法
Jul 27 Python
opencv实现简单人脸识别
Feb 19 Python
python matplotlib 绘图 和 dpi对应关系详解
Mar 14 Python
selenium+python配置chrome浏览器的选项的实现
Mar 18 Python
Python PIL库图片灰化处理
Apr 07 Python
python实现文法左递归的消除方法
May 22 Python
python属于哪种语言
Aug 16 Python
使用Python绘制台风轨迹图的示例代码
Sep 21 Python
python高温预警数据获取实例
Jul 23 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
简单实用的.net DataTable导出Execl
2013/10/28 PHP
php用header函数实现301跳转代码实例
2013/11/25 PHP
A标签触发onclick事件而不跳转的多种解决方法
2013/06/27 Javascript
JS 删除字符串最后一个字符的实现代码
2014/02/20 Javascript
jquery查找tr td 示例模拟
2014/05/08 Javascript
jQuery截取指定长度字符串代码
2014/08/21 Javascript
jquery自定义表格样式
2015/11/23 Javascript
JS简单循环遍历json数组的方法
2016/04/22 Javascript
jquery之别踩白块游戏的简单实现
2016/07/25 Javascript
AngularJS ng-mousedown 指令
2016/08/02 Javascript
拖动时防止选中
2017/02/03 Javascript
浅谈js中function的参数默认值
2017/02/20 Javascript
vue 2.0路由之路由嵌套示例详解
2017/05/08 Javascript
利用node实现一个批量重命名文件的函数
2017/12/21 Javascript
使用Angular CLI生成 Angular 5项目教程详解
2018/03/18 Javascript
一个小时快速搭建微信小程序的方法步骤
2019/04/15 Javascript
微信小程序实现的canvas合成图片功能示例
2019/05/03 Javascript
mpvue实现左侧导航与右侧内容的联动
2019/10/21 Javascript
在react项目中使用antd的form组件,动态设置input框的值
2020/10/24 Javascript
Vant 中的Toast设置全局的延迟时间操作
2020/11/04 Javascript
好用的Python编辑器WingIDE的使用经验总结
2016/08/31 Python
完美解决Python2操作中文名文件乱码的问题
2017/01/04 Python
在Django中输出matplotlib生成的图片方法
2018/05/24 Python
用python写测试数据文件过程解析
2019/09/25 Python
python单向链表的基本实现与使用方法【定义、遍历、添加、删除、查找等】
2019/10/24 Python
Ann Taylor官方网站:美国最大的女性产品制造商之一
2016/09/14 全球购物
Trina Turk官网:美国时装和泳装品牌
2018/06/10 全球购物
美国葡萄酒网上商店:Martha Stewart Wine Co.
2019/03/17 全球购物
餐厅经理岗位职责和岗位目标
2014/02/13 职场文书
英语国培研修感言
2014/02/13 职场文书
电厂职工自我鉴定
2014/02/20 职场文书
2014学年自我鉴定
2014/02/23 职场文书
遗产继承公证书
2014/04/09 职场文书
2015年乡镇信访工作总结
2015/04/07 职场文书
Mysql服务添加 iptables防火墙策略的方案
2021/04/29 MySQL
浅谈Redis缓冲区机制
2022/06/05 Redis