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中的yield使用方法
Feb 11 Python
Python回调函数用法实例详解
Jul 02 Python
python下载文件记录黑名单的实现代码
Oct 24 Python
python实现图像识别功能
Jan 29 Python
Python针对给定字符串求解所有子序列是否为回文序列的方法
Apr 21 Python
使用python3+xlrd解析Excel的实例
May 04 Python
python创建文件备份的脚本
Sep 11 Python
PyQt5内嵌浏览器注入JavaScript脚本实现自动化操作的代码实例
Feb 13 Python
Python 计算任意两向量之间的夹角方法
Jul 05 Python
python 实现视频 图像帧提取
Dec 10 Python
python中如何打包用户自定义模块
Sep 23 Python
运行python提示no module named sklearn的解决方法
Nov 29 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
php后台如何避免用户直接进入方法实例
2013/10/15 PHP
采用header定义为文件然后readfile下载(隐藏下载地址)
2014/01/31 PHP
php保存信息到当前Session的方法
2015/03/16 PHP
深入理解PHP的远程多会话调试
2017/09/21 PHP
12种不宜使用的Javascript语法整理
2013/11/04 Javascript
用js+iframe形成页面的一种遮罩效果的具体实现
2013/12/31 Javascript
js获取窗口相对于屏幕左边和上边的位置坐标
2014/05/15 Javascript
JS 实现列表与多选框选择附预览动画
2014/10/29 Javascript
JavaScript实现在标题栏上显示当前日期的方法
2015/03/19 Javascript
javascript操作select元素实例分析
2015/03/27 Javascript
JS实现CheckBox复选框全选全不选功能
2015/05/06 Javascript
JavaScript运算符小结
2015/06/03 Javascript
javascript 小数乘法结果错误的处理方法
2016/07/28 Javascript
Javascript面试经典套路reduce函数查重
2017/03/23 Javascript
JS组件系列之MVVM组件构建自己的Vue组件
2017/04/28 Javascript
@angular前端项目代码优化之构建Api Tree的方法
2018/12/24 Javascript
原生JS forEach()和map()遍历的区别、兼容写法及jQuery $.each、$.map遍历操作
2019/02/27 jQuery
nodejs二进制与Buffer的介绍与使用
2019/07/11 NodeJs
[03:36]DOTA2完美大师赛coL战队趣味视频——我演你猜
2017/11/23 DOTA
python pickle 和 shelve模块的用法
2013/09/16 Python
Python中使用pprint函数进行格式化输出的教程
2015/04/07 Python
Python与Redis的连接教程
2015/04/22 Python
使用python编写简单的小程序编译成exe跑在win10上
2018/01/15 Python
详解Django-restframework 之频率源码分析
2019/02/27 Python
python解析命令行参数的三种方法详解
2019/11/29 Python
HTML中使用SVG与SVG预定义形状元素介绍
2013/06/28 HTML / CSS
Fossil加拿大官网:化石手表、手袋、首饰及配饰
2019/04/23 全球购物
Java的for语句中break, continue和return的区别
2013/12/19 面试题
params有什么用
2016/03/01 面试题
优秀管理者获奖感言
2014/02/17 职场文书
评析教师个人的自我评价
2014/02/19 职场文书
六个一活动实施方案
2014/03/21 职场文书
聘任书模板
2014/03/29 职场文书
房屋租赁授权委托书范本
2014/09/20 职场文书
通报表扬范文
2015/01/17 职场文书
利用Python实现模拟登录知乎
2022/05/25 Python