基于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实现模拟登录及表单提交的方法
Jul 25 Python
python文件与目录操作实例详解
Feb 22 Python
Python中模块string.py详解
Mar 12 Python
TensorFlow实现非线性支持向量机的实现方法
Apr 28 Python
Python 实现字符串中指定位置插入一个字符
May 02 Python
深入学习python多线程与GIL
Aug 26 Python
使用Python来做一个屏幕录制工具的操作代码
Jan 18 Python
tensorflow 利用expand_dims和squeeze扩展和压缩tensor维度方式
Feb 07 Python
python 画条形图(柱状图)实例
Apr 24 Python
python实现批量命名照片
Jun 18 Python
python实现图片转换成素描和漫画格式
Aug 19 Python
Cpython解释器中的GIL全局解释器锁
Nov 09 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
晶体管单管来复再生式收音机
2021/03/02 无线电
解析php5配置使用pdo
2013/07/03 PHP
php curl 上传文件代码实例
2015/04/27 PHP
Js日期选择自动填充到输入框(界面漂亮兼容火狐)
2013/08/02 Javascript
JS逆序遍历实现代码
2014/12/02 Javascript
JavaScript判断变量是否为空的自定义函数分享
2015/01/31 Javascript
用js编写的简单的计算器代码程序
2015/08/04 Javascript
JavaScript 定时器 SetTimeout之定时刷新窗口和关闭窗口(代码超简单)
2016/02/26 Javascript
JQuery用户名校验的具体实现
2016/03/18 Javascript
window.onload绑定多个事件的两种解决方案
2016/05/15 Javascript
深入浅析JavaScript函数前面的加号和叹号
2016/07/09 Javascript
微信小程序支付及退款流程详解
2017/11/30 Javascript
Vue.js做select下拉列表的实例(ul-li标签仿select标签)
2018/03/02 Javascript
深入浅析Node.js 事件循环、定时器和process.nextTick()
2018/10/22 Javascript
Vue使用NPM方式搭建项目
2018/10/25 Javascript
vue项目中使用fetch的实现方法
2019/04/25 Javascript
如何在vue中使用video.js播放m3u8格式的视频
2021/02/01 Vue.js
Flask SQLAlchemy一对一,一对多的使用方法实践
2013/02/10 Python
python通过elixir包操作mysql数据库实例代码
2018/01/31 Python
Python中property函数用法实例分析
2018/06/04 Python
Django中使用Celery的教程详解
2018/08/24 Python
pygame实现雷电游戏雏形开发
2018/11/20 Python
django多个APP的urls设置方法(views重复问题解决)
2019/07/19 Python
python实现的config文件读写功能示例
2019/09/24 Python
详解python常用命令行选项与环境变量
2020/02/20 Python
pycharm 使用anaconda为默认环境的操作
2021/02/05 Python
HTML页面中添加Canvas标签示例
2015/01/01 HTML / CSS
Internet主要有哪些网络群组成
2015/12/24 面试题
鞋类设计与工艺专业销售求职信
2013/11/01 职场文书
2014年国培研修感言
2014/03/09 职场文书
《东方明珠》教学反思
2014/04/20 职场文书
单位接收函范文
2015/01/30 职场文书
三峡大坝导游词
2015/01/31 职场文书
2016年教师新年寄语
2015/08/18 职场文书
vue-cropper插件实现图片截取上传组件封装
2021/05/27 Vue.js
JS精髓原型链继承及构造函数继承问题纠正
2022/06/16 Javascript