基于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 相关文章推荐
Python内置函数dir详解
Apr 14 Python
Python实现拷贝多个文件到同一目录的方法
Sep 19 Python
Python使用sftp实现上传和下载功能(实例代码)
Mar 14 Python
对Python 两大环境管理神器 pyenv 和 virtualenv详解
Dec 31 Python
Python代码实现删除一个list里面重复元素的方法
Apr 02 Python
PyQt QListWidget修改列表项item的行高方法
Jun 20 Python
python求最大值最小值方法总结
Jun 25 Python
关于pytorch多GPU训练实例与性能对比分析
Aug 19 Python
python opencv图片编码为h264文件的实例
Dec 12 Python
解决tensorflow由于未初始化变量而导致的错误问题
Jan 06 Python
python 非线性规划方式(scipy.optimize.minimize)
Feb 11 Python
python tkinter实现定时关机
Apr 21 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中防止SQL注入方法详解
2014/12/25 PHP
js编码、解码函数介绍及其使用示例
2013/09/05 Javascript
Jquery Uploadify上传带进度条的简单实例
2014/02/12 Javascript
javascript中拼接HTML字符串的最快、最好的方法
2014/06/07 Javascript
javascript数组输出的两种方式
2015/01/13 Javascript
jquery实现鼠标经过显示下划线的渐变下拉菜单效果代码
2015/08/24 Javascript
JS实现滑动菜单效果代码(包括Tab,选项卡,横向等效果)
2015/09/24 Javascript
JavaScript设计模式初探
2016/01/07 Javascript
Javascript中的迭代、归并方法详解
2016/06/14 Javascript
angularjs 源码解析之injector
2016/08/22 Javascript
Angular2  NgModule 模块详解
2016/10/19 Javascript
ES6新特性七:数组的扩充详解
2017/04/21 Javascript
详解node-ccap模块生成captcha验证码
2017/07/01 Javascript
利用Ionic2 + angular4实现一个地区选择组件
2017/07/27 Javascript
JavaScript使用localStorage存储数据
2019/09/25 Javascript
Vue图片浏览组件v-viewer用法分析【支持旋转、缩放、翻转等操作】
2019/11/04 Javascript
Jquery cookie插件实现原理代码解析
2020/08/04 jQuery
原生JavaScript实现进度条
2021/02/19 Javascript
Flask入门教程实例:搭建一个静态博客
2015/03/27 Python
python简单实现旋转图片的方法
2015/05/30 Python
python登录豆瓣并发帖的方法
2015/07/08 Python
Python实现通过继承覆盖方法示例
2018/07/02 Python
Django添加KindEditor富文本编辑器的使用
2018/10/24 Python
Python两个字典键同值相加的几种方法
2019/03/05 Python
对python中 math模块下 atan 和 atan2的区别详解
2020/01/17 Python
浅谈html5 响应式布局
2014/12/24 HTML / CSS
新西兰便宜隐形眼镜购买网站:QUICKLENS New Zealand
2019/03/02 全球购物
Waterford英国官方网站:世界上最受欢迎的优质水晶品牌
2019/08/17 全球购物
下面代码从性能上考虑,有什么问题
2015/04/03 面试题
最新教师自我评价分享
2013/11/12 职场文书
党校学习自我鉴定
2014/02/24 职场文书
学前班评语大全
2014/05/04 职场文书
单位委托书格式范本
2014/09/29 职场文书
办理收楼委托书范本
2014/10/09 职场文书
个人批评与自我批评范文
2014/10/17 职场文书
Python中OpenCV实现查找轮廓的实例
2021/06/08 Python