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中的深拷贝和浅拷贝详解
Jun 03 Python
python数据结构之图深度优先和广度优先实例详解
Jul 08 Python
一张图带我们入门Python基础教程
Feb 05 Python
python去重,一个由dict组成的list的去重示例
Jan 21 Python
使用django实现一个代码发布系统
Jul 18 Python
Python之数据序列化(json、pickle、shelve)详解
Aug 30 Python
Python实现搜索算法的实例代码
Jan 02 Python
python中matplotlib实现随鼠标滑动自动标注代码
Apr 23 Python
基于matplotlib中ion()和ioff()的使用详解
Jun 16 Python
Python 实现国产SM3加密算法的示例代码
Sep 21 Python
Python制作一个仿QQ办公版的图形登录界面
Sep 22 Python
解决Python保存文件名太长OSError: [Errno 36] File name too long
May 11 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 trim 去除空字符的定义与语法介绍
2010/05/31 PHP
PHP+mysql实现从数据库获取下拉树功能示例
2017/01/06 PHP
Laravel框架实现多个视图共享相同数据的方法详解
2019/07/09 PHP
xml 封装与解析(javascript和C#中)
2009/07/26 Javascript
jquery获取ASP.NET服务器端控件dropdownlist和radiobuttonlist生成客户端HTML标签后的value和text值
2010/06/28 Javascript
JS模拟面向对象全解(一、类型及传递)
2011/07/13 Javascript
Javascript继承机制的设计思想分享
2011/08/28 Javascript
通过pjax实现无刷新翻页(兼容新版jquery)
2014/01/31 Javascript
arguments对象验证函数的参数是否合法
2015/06/26 Javascript
jQuery仅用3行代码实现的显示与隐藏功能完整实例
2015/10/08 Javascript
预防网页挂马的方法总结
2016/11/03 Javascript
详解vue 实例方法和数据
2017/10/23 Javascript
深入理解Vue Computed计算属性原理
2018/05/29 Javascript
Vue的属性、方法、生命周期实例代码详解
2019/09/17 Javascript
vue实现多级菜单效果
2019/10/19 Javascript
关于vue.js中实现方法内某些代码延时执行
2019/11/14 Javascript
用js编写留言板
2020/03/17 Javascript
Ant Design的Table组件去除
2020/10/24 Javascript
Python中用max()方法求最大值的介绍
2015/05/15 Python
11月编程语言排行榜 Python逆袭C#上升到第4
2017/11/15 Python
在python2.7中用numpy.reshape 对图像进行切割的方法
2018/12/05 Python
python正则爬取某段子网站前20页段子(request库)过程解析
2019/08/10 Python
纯CSS实现预加载动画效果
2017/09/06 HTML / CSS
北美三大旅游网站之一:Travelocity加拿大
2016/08/20 全球购物
Nike爱尔兰官方网站:Nike.com (IE)
2018/03/12 全球购物
丝芙兰波兰:Sephora.pl
2018/03/25 全球购物
UDP协议功能
2013/01/06 面试题
加入学生会演讲稿
2014/04/24 职场文书
工作疏忽、懈怠的检讨书
2014/09/11 职场文书
校长四风对照检查材料
2014/09/27 职场文书
离婚协议书范本(2014版)
2014/09/28 职场文书
教师岗位职责范本
2015/04/02 职场文书
导游词之南京中山陵
2019/11/27 职场文书
mysql部分操作
2021/04/05 MySQL
Python如何快速找到多个字典中的公共键(key)
2022/04/29 Python
Python使用Beautiful Soup(BS4)库解析HTML和XML
2022/06/05 Python