打印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实现Youku视频批量下载功能
Mar 14 Python
Python中异常重试的解决方案详解
May 05 Python
利用python实现简单的循环购物车功能示例代码
Jul 05 Python
ubuntu安装mysql pycharm sublime
Feb 20 Python
Python实现的凯撒密码算法示例
Apr 12 Python
pycharm+PyQt5+python最新开发环境配置(踩坑)
Feb 11 Python
Python爬虫之UserAgent的使用实例
Feb 21 Python
python 判断字符串中是否含有汉字或非汉字的实例
Jul 15 Python
python将数组n等分的实例
Dec 02 Python
解决tensorboard多个events文件显示紊乱的问题
Feb 15 Python
tensorflow 大于某个值为1,小于为0的实例
Jun 30 Python
python中lower函数实现方法及用法讲解
Dec 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
PHP可逆加密/解密函数分享
2012/09/25 PHP
关于初学PHP时的知识积累总结
2013/06/07 PHP
thinkphp路由规则使用示例详解和伪静态功能实现(apache重写)
2014/02/24 PHP
PHP对象相关知识总结
2017/04/09 PHP
PHP 中 var_export、print_r、var_dump 调试中的区别
2018/06/19 PHP
用php定义一个数组最简单的方法
2019/10/04 PHP
Javascript 中介者模式实例
2009/12/16 Javascript
Jquery利用mouseenter和mouseleave实现鼠标经过弹出层且可以点击
2014/02/12 Javascript
javascript定义类和类的实现实例详解
2015/12/01 Javascript
JavaScript html5 canvas画布中删除一个块区域的方法
2016/01/26 Javascript
详解vue-Resource(与后端数据交互)
2017/01/16 Javascript
在Vue中使用echarts的实例代码(3种图)
2017/07/10 Javascript
从零开始搭建webpack+react开发环境的详细步骤
2018/05/18 Javascript
在 Angular6 中使用 HTTP 请求服务端数据的步骤详解
2018/08/06 Javascript
详解微信小程序之scroll-view的flex布局问题
2019/01/16 Javascript
Vuex中的State使用介绍
2019/01/19 Javascript
微信小程序自定义模态弹窗组件详解
2019/12/24 Javascript
解决js中的setInterval清空定时器不管用问题
2020/11/17 Javascript
微信小程序实现电影App导航和轮播
2020/11/30 Javascript
js前端对于大量数据的展示方式及处理方法
2020/12/02 Javascript
[54:51]Ti4 冒泡赛第二轮LGD vs C9 3
2014/07/14 DOTA
Python实现调度算法代码详解
2017/12/01 Python
使用Python和xlwt向Excel文件中写入中文的实例
2018/04/21 Python
使用pandas对两个dataframe进行join的实例
2018/06/08 Python
Python OpenCV处理图像之图像直方图和反向投影
2018/07/10 Python
python flask web服务实现更换默认端口和IP的方法
2019/07/26 Python
HTML5离线缓存Manifest是什么
2016/03/09 HTML / CSS
HTML5使用drawImage()方法绘制图像
2014/06/23 HTML / CSS
StubHub澳大利亚:购买或出售您的门票
2019/08/01 全球购物
适用于所有创业者的创业计划书
2014/02/05 职场文书
产品设计开发计划书
2014/05/07 职场文书
民主评议党员登记表自我评价
2014/10/20 职场文书
python 爬取哔哩哔哩up主信息和投稿视频
2021/06/07 Python
python使用shell脚本创建kafka连接器
2022/04/29 Python
nginx之内存池的实现
2022/06/28 Servers
MutationObserver在页面水印实现起到的作用详解
2022/07/07 Javascript