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实现扫描端口示例
Mar 29 Python
Python常用模块介绍
Nov 21 Python
老生常谈python之鸭子类和多态
Jun 13 Python
Python数据结构之顺序表的实现代码示例
Nov 15 Python
python针对excel的操作技巧
Mar 13 Python
Python读取本地文件并解析网页元素的方法
May 21 Python
python3读取csv和xlsx文件的实例
Jun 22 Python
Python中numpy模块常见用法demo实例小结
Mar 16 Python
python语言基本语句用法总结
Jun 11 Python
python函数的万能参数传参详解
Jul 26 Python
python判断变量是否为列表的方法
Sep 17 Python
 Python 中 logging 模块使用详情
Mar 03 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函数篇详解十进制、二进制、八进制和十六进制转换函数说明
2011/12/05 PHP
php使用mb_check_encoding检查字符串在指定的编码里是否有效
2013/11/07 PHP
Windows2003下php5.4安装配置教程(Apache2.4)
2016/06/30 PHP
Yii2框架dropDownList下拉菜单用法实例分析
2016/07/18 PHP
jquery 事件冒泡的介绍以及如何阻止事件冒泡
2012/12/25 Javascript
JSON+JavaScript处理JSON的简单例子
2013/03/20 Javascript
js动态创建上传表单通过iframe模拟Ajax实现无刷新
2014/02/20 Javascript
通过Javascript读取本地Excel文件内容的代码示例
2014/04/08 Javascript
JavaScript中跨域调用Flash的方法
2014/08/11 Javascript
JavaScript获取页面中超链接数量的方法
2015/11/09 Javascript
jQuery插件实现表格隔行变色及鼠标滑过高亮显示效果代码
2016/02/25 Javascript
基于原生js淡入淡出函数封装(兼容IE)
2016/10/20 Javascript
基于jQuery实现顶部导航栏功能
2016/12/27 Javascript
JavaScript中的toString()和toLocaleString()方法的区别
2017/02/15 Javascript
Vue非父子组件通信详解
2017/06/12 Javascript
关于vue.js组件数据流的问题
2017/07/26 Javascript
jquery在vue脚手架中的使用方式示例
2017/08/29 jQuery
解决bootstrap-select 动态加载数据不显示的问题
2018/08/10 Javascript
vue 使用vue-i18n做全局中英文切换的方法
2018/10/29 Javascript
使用React手写一个对话框或模态框的方法示例
2019/04/25 Javascript
Python实现多线程下载文件的代码实例
2014/06/01 Python
Python sqlite3事务处理方法实例分析
2017/06/19 Python
浅谈配置OpenCV3 + Python3的简易方法(macOS)
2018/04/02 Python
Python操作rabbitMQ的示例代码
2019/03/19 Python
查看Python依赖包及其版本号信息的方法
2019/08/13 Python
python中必要的名词解释
2019/11/20 Python
python GUI库图形界面开发之PyQt5下拉列表框控件QComboBox详细使用方法与实例
2020/02/27 Python
解决Keras自带数据集与预训练model下载太慢问题
2020/06/12 Python
Python爬虫如何应对Cloudflare邮箱加密
2020/06/24 Python
巴西24小时在线药房:Drogasil
2020/06/20 全球购物
高中学生干部学习的自我评价
2014/02/21 职场文书
煤矿安全承诺书
2014/05/22 职场文书
党员个人批评与自我批评
2014/10/14 职场文书
2014年业务工作总结
2014/11/17 职场文书
休学证明范本
2015/06/19 职场文书
mongodb的安装和开机自启动详细讲解
2021/08/02 MongoDB