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 相关文章推荐
Django与遗留的数据库整合的方法指南
Jul 24 Python
Python对字符串实现去重操作的方法示例
Aug 11 Python
Python进程间通信之共享内存详解
Oct 30 Python
python之pandas用法大全
Mar 13 Python
Python实现的查询mysql数据库并通过邮件发送信息功能
May 17 Python
python 2.7.13 安装配置方法图文教程
Sep 18 Python
对numpy中二进制格式的数据存储与读取方法详解
Nov 01 Python
python自动结束mysql慢查询会话的实例代码
Oct 27 Python
谈一谈数组拼接tf.concat()和np.concatenate()的区别
Feb 07 Python
Numpy 理解ndarray对象的示例代码
Apr 03 Python
Python while true实现爬虫定时任务
Jun 08 Python
Python 语言实现六大查找算法
Jun 30 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+mysql实现无限级分类 | 树型显示分类关系
2006/11/19 PHP
判断PHP数组是否为空的代码
2011/09/08 PHP
PHP版网站缓存加快打开速度的方法分享
2012/06/03 PHP
php递归法读取目录及文件的方法
2015/01/30 PHP
thinkPHP中create方法与令牌验证实例浅析
2015/12/08 PHP
网上应用的一个不错common.js脚本
2007/08/08 Javascript
在网页里看flash的trace数据的js类
2009/01/10 Javascript
jQuery对表单的操作代码集合
2011/04/06 Javascript
js仿小米官网图片轮播特效
2016/09/29 Javascript
微信小程序 网络API Websocket详解
2016/11/09 Javascript
详解Jquery的事件操作和文档操作
2016/12/19 Javascript
jquery实现转盘抽奖功能
2017/01/06 Javascript
jquery表单提交带错误信息提示效果
2017/03/09 Javascript
微信小程序报错:this.setData is not a function的解决办法
2017/09/27 Javascript
Vue的土著指令和自定义指令实例详解
2018/02/04 Javascript
了解ESlint和其相关操作小结
2018/05/21 Javascript
详解mpvue小程序中怎么引入iconfont字体图标
2018/10/01 Javascript
Vue请求JSON Server服务器数据的实现方法
2018/11/02 Javascript
微信小程序实现的3d轮播图效果示例【基于swiper组件】
2018/12/11 Javascript
vue 中使用 watch 出现了如下的报错的原因分析
2019/05/21 Javascript
python进阶教程之循环对象
2014/08/30 Python
Python中的异常处理简明介绍
2015/04/13 Python
Python实现字典去除重复的方法示例
2017/07/31 Python
Python实现图片转字符画的代码实例
2019/02/22 Python
Django对接支付宝实现支付宝充值金币功能示例
2019/12/17 Python
tensorflow estimator 使用hook实现finetune方式
2020/01/21 Python
python实现word文档批量转成自定义格式的excel文档的思路及实例代码
2020/02/21 Python
公认8个效率最高的爬虫框架
2020/07/28 Python
纯CSS实现预加载动画效果
2017/09/06 HTML / CSS
HTML5实现晶莹剔透的雨滴特效
2014/05/14 HTML / CSS
加拿大领先的牛仔零售商:Bluenotes
2018/01/22 全球购物
少先队中队工作总结2015
2015/07/23 职场文书
公司车辆维修管理制度
2015/08/05 职场文书
2019年特色火锅店的创业计划书模板
2019/08/28 职场文书
详解Golang如何优雅的终止一个服务
2022/03/21 Golang
Linux安装Docker详细教程
2022/07/07 Servers