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制作获取网站目录的图形化程序
May 04 Python
Python中列表、字典、元组数据结构的简单学习笔记
Mar 20 Python
Python中用post、get方式提交数据的方法示例
Sep 22 Python
SVM基本概念及Python实现代码
Dec 27 Python
python 通过xml获取测试节点和属性的实例
Mar 31 Python
Django rest framework实现分页的示例
May 24 Python
Python(TensorFlow框架)实现手写数字识别系统的方法
May 29 Python
Python中__slots__属性介绍与基本使用方法
Sep 05 Python
python调用摄像头拍摄数据集
Jun 01 Python
用python3 urllib破解有道翻译反爬虫机制详解
Aug 14 Python
python中count函数简单的实例讲解
Feb 06 Python
Python爬虫之Selenium设置元素等待的方法
Dec 04 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
文章推荐系统(二)
2006/10/09 PHP
Prototype ObjectRange对象学习
2009/07/19 Javascript
HTML Dom与Css控制方法
2010/10/25 Javascript
用js实现控件的隐藏及style.visibility的使用
2013/06/14 Javascript
屏蔽IE弹出"您查看的网页正在试图关闭窗口,是否关闭此窗口"的方法
2013/12/31 Javascript
JS的get和set使用示例
2014/02/20 Javascript
js获得参数的getParameter使用示例
2014/02/26 Javascript
JS父页面与子页面相互传值方法
2014/03/05 Javascript
代码获取历史上的今天发生的事
2014/04/11 Javascript
javascript学习笔记(五)原型和原型链详解
2014/10/08 Javascript
原生Javascript封装的一个AJAX函数分享
2014/10/11 Javascript
nodejs事件的监听与触发的理解分析
2015/02/12 NodeJs
详解JavaScript实现设计模式中的适配器模式的方法
2016/05/18 Javascript
微信小程序中实现一对多发消息详解及实例代码
2017/02/14 Javascript
Bootstrap DateTime Picker日历控件简单应用
2017/03/25 Javascript
bootstrap table表格插件使用详解
2017/05/08 Javascript
js基于FileSaver.js 浏览器导出Excel文件的示例
2017/08/15 Javascript
基于jQuery Ajax实现下拉框无刷新联动
2017/12/06 jQuery
webpack+vue+express(hot)热启动调试简单配置方法
2018/09/19 Javascript
在vue中使用echarts图表实例代码详解
2018/10/22 Javascript
Vue两种组件类型:递归组件和动态组件的用法
2020/08/06 Javascript
Python协程的用法和例子详解
2017/09/09 Python
Python字符串、整数、和浮点型数相互转换实例
2018/08/04 Python
python 实现在一张图中绘制一个小的子图方法
2019/07/07 Python
Python实现数值积分方式
2019/11/20 Python
HTML5 MiranaVideo播放器 (代码开源)
2010/06/11 HTML / CSS
Guess欧洲官网:美国服饰品牌
2019/08/06 全球购物
Fnac西班牙官网:法国文化和电子产品零售商
2021/03/14 全球购物
捐助倡议书范文
2014/04/15 职场文书
企业安全生产责任书范本
2014/07/28 职场文书
财务管理专业自荐书
2014/09/02 职场文书
高中生毕业评语
2014/12/30 职场文书
国王的演讲观后感
2015/06/03 职场文书
高中化学教学反思
2016/02/22 职场文书
MIME类型中application/xml与text/xml的区别介绍
2022/01/18 HTML / CSS
Python通用验证码识别OCR库ddddocr的安装使用教程
2022/07/07 Python