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 闭包的使用方法
Sep 07 Python
python实现学生信息管理系统
Apr 05 Python
利用python开发app实战的方法
Jul 09 Python
python实现倒计时小工具
Jul 29 Python
详解pandas DataFrame的查询方法(loc,iloc,at,iat,ix的用法和区别)
Aug 02 Python
Python 多线程,threading模块,创建子线程的两种方式示例
Sep 29 Python
Python中输入和输出(打印)数据实例方法
Oct 13 Python
SpringBoot实现登录注册常见问题解决方案
Mar 04 Python
Python如何将将模块分割成多个文件
Aug 04 Python
Pycharm调试程序技巧小结
Aug 08 Python
基于python实现复制文件并重命名
Sep 16 Python
requests在python中发送请求的实例讲解
Feb 17 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使用第三方即时获取物流动态实例详解
2017/04/27 PHP
CMSPRESS 10行代码搞定 PHP无限级分类2
2018/03/30 PHP
PHP后台备份MySQL数据库的源码实例
2019/03/18 PHP
jQuery使用手册之 事件处理
2007/03/24 Javascript
用jQuery获取IE9下拉框默认值问题探讨
2013/07/22 Javascript
使用jQuery重置(reset)表单的方法
2014/05/05 Javascript
jquery实现图片左右切换的方法
2015/05/07 Javascript
jquery实现加载进度条提示效果
2015/11/23 Javascript
jQuery下拉框的简单应用
2016/06/24 Javascript
JQueryEasyUI之DataGrid数据显示
2016/11/23 Javascript
通过npm引用的vue组件使用详解
2017/03/02 Javascript
js使用highlight.js高亮你的代码
2017/08/18 Javascript
为什么使用koa2搭建微信第三方公众平台的原因
2018/05/16 Javascript
vue异步axios获取的数据渲染到页面的方法
2018/08/09 Javascript
原生JS实现的简单轮播图功能【适合新手】
2018/08/17 Javascript
Python中文件操作简明介绍
2015/04/13 Python
python文件操作相关知识点总结整理
2016/02/22 Python
python3第三方爬虫库BeautifulSoup4安装教程
2018/06/19 Python
python之消除前缀重命名的方法
2018/10/21 Python
Python实现获取汉字偏旁部首的方法示例【测试可用】
2018/12/18 Python
深入解析神经网络从原理到实现
2019/07/26 Python
深入了解Django中间件及其方法
2019/07/26 Python
python 多进程并行编程 ProcessPoolExecutor的实现
2019/10/11 Python
python实现按首字母分类查找功能
2019/10/31 Python
Python简单实现词云图代码及步骤解析
2020/06/04 Python
用html5实现语音搜索框的方法
2014/03/18 HTML / CSS
玩具反斗城美国官网:Toys"R"Us
2016/09/17 全球购物
网络通讯中,端口有什么含义,端口的取值范围
2012/11/23 面试题
岗位标兵事迹材料
2014/05/17 职场文书
酒后驾车标语
2014/06/30 职场文书
环境科学专业教师求职信
2014/07/12 职场文书
商场租赁意向书
2014/07/30 职场文书
2014幼儿园大班工作总结
2014/11/10 职场文书
大学开学感言
2015/08/01 职场文书
mysql联合索引的使用规则
2021/06/23 MySQL
Nginx配置使用详解
2022/07/07 Servers