基于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连接MySQL、MongoDB、Redis、memcache等数据库的方法
Nov 15 Python
python 回调函数和回调方法的实现分析
Mar 23 Python
Python中使用装饰器来优化尾递归的示例
Jun 18 Python
redis之django-redis的简单缓存使用
Jun 07 Python
Python设计模式之装饰模式实例详解
Jan 21 Python
浅谈Python中函数的定义及其调用方法
Jul 19 Python
Python中变量的输入输出实例代码详解
Jul 28 Python
Python 音频生成器的实现示例
Dec 24 Python
pytorch实现seq2seq时对loss进行mask的方式
Feb 18 Python
如何在scrapy中捕获并处理各种异常
Sep 28 Python
Python自动化办公Excel模块openpyxl原理及用法解析
Nov 05 Python
Python中快速掌握Data Frame的常用操作
Mar 31 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在线打包程序源码
2008/07/27 PHP
PHP中error_reporting()函数的用法(修改PHP屏蔽错误)
2011/07/01 PHP
Laravel中使用阿里云OSS Composer包分享
2015/02/10 PHP
php实现阿拉伯数字和罗马数字相互转换的方法
2015/04/17 PHP
微信公众号开发之通过接口删除菜单
2017/02/20 PHP
thinkphp5 URL和路由的功能详解与实例
2017/12/26 PHP
JavaScript入门教程(3) js面向对象
2009/01/31 Javascript
JS 无法通过W3C验证的处理方法
2010/03/09 Javascript
推荐17个优美新鲜的jQuery的工具提示插件
2012/09/14 Javascript
jQuery实现宽屏图片轮播实例教程
2015/11/24 Javascript
基于jQuery实现鼠标点击导航菜单水波动画效果附源码下载
2016/01/06 Javascript
关于JavaScript中事件绑定的方法总结
2016/10/26 Javascript
javascript中活灵活现的Array对象详解
2016/11/30 Javascript
基于javascript的Form表单验证
2016/12/29 Javascript
Javascript中类式继承和原型式继承的实现方法和区别之处
2017/04/25 Javascript
JS实现标签页切换效果
2017/05/04 Javascript
使用Angular CLI生成路由的方法
2018/03/24 Javascript
深入解读Node.js中的koa源码
2019/06/17 Javascript
解决antd Form 表单校验方法无响应的问题
2020/10/27 Javascript
python通过get,post方式发送http请求和接收http响应的方法
2015/05/26 Python
Python Json序列化与反序列化的示例
2018/01/31 Python
linux下python使用sendmail发送邮件
2018/05/22 Python
Django 使用Ajax进行前后台交互的示例讲解
2018/05/28 Python
详解Django+Uwsgi+Nginx 实现生产环境部署
2018/11/06 Python
python3.6使用tkinter实现弹跳小球游戏
2019/05/09 Python
对python 中class与变量的使用方法详解
2019/06/26 Python
Django stark组件使用及原理详解
2019/08/22 Python
pytorch 实现tensor与numpy数组转换
2019/12/27 Python
浅谈python 类方法/静态方法
2020/09/18 Python
班组长工作职责
2013/12/25 职场文书
高中生期末评语大全
2014/01/28 职场文书
校庆活动方案
2014/03/31 职场文书
夏季药店促销方案
2014/08/22 职场文书
期末考试复习计划
2015/01/19 职场文书
2015年五四青年节活动总结
2015/02/10 职场文书
工厂无线对讲系统解决方案
2022/02/18 无线电