tensorflow 模型权重导出实例


Posted in Python onJanuary 24, 2020

tensorflow在保存权重模型时多使用tf.train.Saver().save 函数进行权重保存,保存的ckpt文件无法直接打开,不利于将模型权重导入到其他框架使用(如Caffe、Keras等)。

好在tensorflow提供了相关函数 tf.train.NewCheckpointReader 可以对ckpt文件进行权重查看,因此可以通过该函数进行数据导出。

import tensorflow as tf
import h5py

cpktLogFileName = r'./checkpoint/checkpoint' #cpkt 文件路径
with open(cpktLogFileName, 'r') as f:
  #权重节点往往会保留多个epoch的数据,此处获取最后的权重数据   
  cpktFileName = f.readline().split('"')[1]   

h5FileName = r'./model/net_classification.h5'

reader = tf.train.NewCheckpointReader(cpktFileName)
f = h5py.File(h5FileName, 'w')
t_g = None
for key in sorted(reader.get_variable_to_shape_map()):
  # 权重名称需根据自己网络名称自行修改
  if key.endswith('w') or key.endswith('biases'):
    keySplits = key.split(r'/')
    keyDict = keySplits[1] + '/' + keySplits[1] + '/' + keySplits[2]
    f[keyDict] = reader.get_tensor(key)

以上这篇tensorflow 模型权重导出实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中最常用的操作列表的几种方法归纳
Apr 24 Python
深入浅析python with语句简介
Apr 11 Python
python pandas 组内排序、单组排序、标号的实例
Apr 12 Python
PyQt5实现下载进度条效果
Apr 19 Python
Go/Python/Erlang编程语言对比分析及示例代码
Apr 23 Python
详解如何用django实现redirect的几种方法总结
Nov 22 Python
使用PyTorch将文件夹下的图片分为训练集和验证集实例
Jan 08 Python
tensorflow 实现自定义梯度反向传播代码
Feb 10 Python
Tkinter中复选菜单是否被选中的判断与设置方式
Mar 04 Python
PyQt5.6+pycharm配置以及pyinstaller生成exe(小白教程)
Jun 02 Python
详解Python中string模块除去Str还剩下什么
Nov 30 Python
Python+MySQL随机试卷及答案生成程序的示例代码
Feb 01 Python
在Tensorflow中查看权重的实现
Jan 24 #Python
tensorflow求导和梯度计算实例
Jan 23 #Python
Tensorflow的梯度异步更新示例
Jan 23 #Python
在Tensorflow中实现梯度下降法更新参数值
Jan 23 #Python
Tensorflow实现部分参数梯度更新操作
Jan 23 #Python
将tensorflow模型打包成PB文件及PB文件读取方式
Jan 23 #Python
使用tensorflow显示pb模型的所有网络结点方式
Jan 23 #Python
You might like
Yii框架中jquery表单验证插件用法示例
2016/10/18 PHP
Redis使用Eval多个键值自增的操作实例
2016/11/04 PHP
PHP var关键字相关原理及使用实例解析
2020/07/11 PHP
老鱼 浅谈javascript面向对象编程
2010/03/04 Javascript
jQuery EasyUI 中文API Button使用实例
2010/04/14 Javascript
javascript 折半查找字符在数组中的位置(有序列表)
2010/12/09 Javascript
原生js操作checkbox用document.getElementById实现
2013/10/12 Javascript
Jquery原生态实现表格header头随滚动条滚动而滚动
2014/03/18 Javascript
使用Jquery获取带特殊符号的ID 标签的方法
2014/04/30 Javascript
jquery插件pagination实现无刷新ajax分页
2015/09/30 Javascript
深入探究AngularJS框架中Scope对象的超级教程
2016/01/04 Javascript
js时间比较 js计算时间差的简单实现方法
2016/08/26 Javascript
浅谈JS函数定义方式的区别
2016/10/30 Javascript
jquery中封装函数传递当前元素的方法示例
2017/05/05 jQuery
Angular 2.0+ 的数据绑定的实现示例
2017/08/09 Javascript
Angular4实现鼠标悬停3d倾斜效果
2017/10/25 Javascript
基于vue开发的在线付费课程应用过程
2018/01/25 Javascript
一次记住JavaScript的6个正则表达式方法
2018/02/22 Javascript
react-native使用leanclound消息推送的方法
2018/08/06 Javascript
JavaScript实现Tab选项卡切换
2020/02/13 Javascript
微信小程序动态添加和删除组件的现实
2020/02/28 Javascript
Vue解决echart在element的tab切换时显示不正确问题
2020/08/03 Javascript
[05:49]2014DOTA2TI4正赛第二日综述 昔日冠军纷纷落马 VG LGD占尽先机
2014/07/20 DOTA
[48:54]VGJ.T vs infamous Supermajor小组赛D组败者组第一轮 BO3 第二场 6.3
2018/06/04 DOTA
[41:17]完美世界DOTA2联赛PWL S3 access vs CPG 第二场 12.13
2020/12/17 DOTA
Python实现把utf-8格式的文件转换成gbk格式的文件
2015/01/22 Python
基于python实现在excel中读取与生成随机数写入excel中
2018/01/04 Python
django DRF图片路径问题的解决方法
2018/09/10 Python
python logging设置level失败的解决方法
2020/02/19 Python
tensorflow实现将ckpt转pb文件的方法
2020/04/22 Python
简历中求职的个人自我评价
2013/12/03 职场文书
《油菜花开了》教学反思
2014/02/22 职场文书
倡议书格式
2014/08/30 职场文书
律师催款函范文
2015/06/24 职场文书
2019年公司卫生管理制度样本
2019/08/21 职场文书
Springboot如何使用logback实现多环境配置?
2021/06/16 Java/Android