基于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中SocketServer模块处理网络请求的用法
Jun 28 Python
Django如何实现内容缓存示例详解
Sep 24 Python
Caffe均值文件mean.binaryproto转mean.npy的方法
Jul 09 Python
Python UnboundLocalError和NameError错误根源案例解析
Oct 31 Python
Python作用域与名字空间原理详解
Mar 21 Python
python3 自动打印出最新版本执行的mysql2redis实例
Apr 09 Python
python3获取控制台输入的数据的具体实例
Aug 16 Python
python删除文件、清空目录的实现方法
Sep 23 Python
python rsa-oaep加密的示例代码
Sep 23 Python
python爬虫基础之urllib的使用
Dec 31 Python
python-jwt用户认证食用教学的实现方法
Jan 19 Python
Django migrate报错的解决方案
May 20 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
phpmyadmin导入(import)文件限制的解决办法
2009/12/11 PHP
php 连接mssql数据库 初学php笔记
2010/03/01 PHP
QueryPath PHP 中的jQuery
2010/04/11 PHP
PHP导出MySQL数据到Excel文件(fputcsv)
2011/07/03 PHP
基于php冒泡排序算法的深入理解
2013/06/09 PHP
PHP json_decode函数详细解析
2014/02/17 PHP
深入解析PHP中foreach语句控制数组循环的用法
2015/11/30 PHP
详解在PHP的Yii框架中使用行为Behaviors的方法
2016/03/18 PHP
PHP验证码无法显示的原因及解决办法
2017/08/11 PHP
JS 文字符串转换unicode编码函数
2009/05/30 Javascript
JavaScript中变量提升 Hoisting
2012/07/03 Javascript
关于jquery input textare 事件绑定及用法学习
2013/04/03 Javascript
jQuery中after的两种用法实例
2013/07/03 Javascript
javascript实现五星评价代码(源码下载)
2015/08/11 Javascript
js获取本机操作系统类型的两种方法
2015/12/19 Javascript
jQuery获取table行数并输出单元格内容的实现方法
2016/06/30 Javascript
js与jQuery实现获取table中的数据并拼成json字符串操作示例
2018/07/12 jQuery
JS实现深度优先搜索求解两点间最短路径
2019/01/17 Javascript
python获取文件后缀名及批量更新目录下文件后缀名的方法
2014/11/11 Python
Python可变参数函数用法实例
2015/07/07 Python
Python3.4学习笔记之 idle 清屏扩展插件用法分析
2019/03/01 Python
Python玩转PDF的各种骚操作
2019/05/06 Python
PageFactory设计模式基于python实现
2020/04/14 Python
Python+Selenium实现自动化的环境搭建的步骤(图文)
2020/09/01 Python
详解CSS3选择器:nth-child和:nth-of-type之间的差异
2017/09/18 HTML / CSS
捷克鲜花配送:Florea.cz
2018/10/29 全球购物
路政管理专业推荐信
2013/11/11 职场文书
大学生第一学年自我鉴定2015
2014/09/28 职场文书
王金山在党的群众路线教育实践活动总结大会上的讲话稿
2014/10/25 职场文书
2014年统战工作总结
2014/12/09 职场文书
幼儿园小班个人总结
2015/02/12 职场文书
2015年化妆品销售工作总结
2015/05/11 职场文书
大学运动会加油稿
2015/07/22 职场文书
记者节感言
2015/08/03 职场文书
2016银行招聘自荐信
2016/01/28 职场文书
如何用六步教会你使用python爬虫爬取数据
2022/04/06 Python