基于keras 模型、结构、权重保存的实现


Posted in Python onJanuary 24, 2020

如何将训练好的网络进行保存,我们可以用pickle或cPickle来保存Keras模型,同时我们可以用下面的方法:

一、保存整个模型

model.save(filepath)将Keras模型和权重保存在一个HDF5文件中,该文件将包含:

模型的结构

模型的权重

训练配置(损失函数,优化器,准确率等)

优化器的状态,以便于从上次训练中断的地方

前提是已经安装python的h5py包.

from keras.models import load_model

当我们再一次使用时可以model.load_model(filepath)载入模型

二、保存模型的结构

model.to_jason()将模型序列化保存为json文件,里面记录了网络的整体结构, 各个层的参数设置等信息. 将json字符串保存到文件.

open(‘filename.json','w').write(json_string)
from keras.models import model_form_json
json_string=open('filename.json').read()

model=model_from_json(json_string)

除了json格式,还可以保存为yaml格式的字符串,形式与JSON一样

三、保存模型权重

model.save_weights()

我们经过调参后网络的输出精度比较满意后,可以将训练好的网络权重参数保存下 来.可通过下面的代码利用HDF5进行保存

model.save_weights(‘model_weights.h5')

使用的时加载模型:

model.load_weights(‘model_weights.h5')

如果你需要加载权重到不同的网络结构(有些层一样)中,例如fine-tune或transfer-learning,你可以通过层名字来加载模型:

model.load_weights('my_model_weights.h5', by_name=True)

因此我们建模时最好给每个层定义名字

以上就是我们保存模型的三种方法,需要我们在实践时多总结。

这篇基于keras 模型、结构、权重保存的实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python3单行定义多个变量或赋值方法
Jul 12 Python
Tensorflow 实现修改张量特定元素的值方法
Jul 30 Python
对dataframe数据之间求补集的实例详解
Jan 30 Python
Python实现插入排序和选择排序的方法
May 12 Python
django Admin文档生成器使用详解
Jul 22 Python
python+selenium 鼠标事件操作方法
Aug 24 Python
基于python操作ES实例详解
Nov 16 Python
PyCharm第一次安装及使用教程
Jan 08 Python
基于Python数据分析之pandas统计分析
Mar 03 Python
python 常用日期处理-- datetime 模块的使用
Sep 02 Python
详解tf.device()指定tensorflow运行的GPU或CPU设备实现
Feb 20 Python
Python爬虫分析微博热搜关键词的实现代码
Feb 22 Python
Python 文件数据读写的具体实现
Jan 24 #Python
利用keras加载训练好的.H5文件,并实现预测图片
Jan 24 #Python
keras模型可视化,层可视化及kernel可视化实例
Jan 24 #Python
keras 特征图可视化实例(中间层)
Jan 24 #Python
基于keras输出中间层结果的2种实现方式
Jan 24 #Python
tensorflow 保存模型和取出中间权重例子
Jan 24 #Python
tensorflow 模型权重导出实例
Jan 24 #Python
You might like
浅谈PHP正则表达式中修饰符/i, /is, /s, /isU
2014/10/21 PHP
php实现递归的三种基本方式
2020/07/04 PHP
PHP Post获取不到非表单数据的问题解决办法
2018/02/27 PHP
解决Laravel5.5下的toArray问题
2019/10/15 PHP
jquery 简单图片导航插件jquery.imgNav.js
2010/03/17 Javascript
JavaScript中的property和attribute介绍
2011/12/26 Javascript
jQuery 下拉列表 二级联动插件分享
2012/03/29 Javascript
jQuery仿gmail实现fixed布局的方法
2015/05/27 Javascript
jQuery点击改变class并toggle及toggleClass()方法定义用法
2015/12/11 Javascript
javascript数组克隆简单实现方法
2015/12/16 Javascript
javascript检测flash插件是否被禁用的方法
2016/01/14 Javascript
AngularJS 工作原理详解
2016/08/18 Javascript
angularjs使用gulp-uglify压缩后执行报错的解决方法
2018/03/07 Javascript
vue移动端实现手机左右滑动入场动画
2020/06/17 Javascript
js实现秒表计时器
2019/12/16 Javascript
Vuex的API文档说明详解
2020/02/05 Javascript
node运行js获得输出的三种方式示例详解
2020/07/02 Javascript
js实现滑动滑块验证登录
2020/07/24 Javascript
js实现金山打字通小游戏
2020/07/24 Javascript
python中MethodType方法介绍与使用示例
2017/08/03 Python
python对html过滤处理的方法
2018/10/21 Python
在python中利用KNN实现对iris进行分类的方法
2018/12/11 Python
Python模拟百度自动输入搜索功能的实例
2019/02/14 Python
python可视化篇之流式数据监控的实现
2019/08/07 Python
python对指定字符串逆序的6种方法(小结)
2020/04/02 Python
利用CSS3的特性改变文本选中时的颜色
2013/09/11 HTML / CSS
用html5的canvas画布绘制贝塞尔曲线完整代码
2013/08/14 HTML / CSS
使用HTML5的Canvas绘制曲线的简单方法
2015/09/08 HTML / CSS
TIME时代杂志台湾总代理:台时亚洲
2018/10/22 全球购物
分布式数据库需要考虑哪些问题
2013/12/08 面试题
2014年第四季度入党积极分子思想汇报(十八届四中全会)
2014/11/03 职场文书
2014年医生工作总结
2014/11/21 职场文书
2015年驾驶员工作总结
2015/04/29 职场文书
高中美术教学反思
2016/02/17 职场文书
CSS3实现模糊背景的三种效果示例
2021/03/30 HTML / CSS
一文搞懂python异常处理、模块与包
2021/06/26 Python