基于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脚本
Apr 05 Python
在Python中用has_key()方法查找键是否存在的教程
May 21 Python
python 调用HBase的简单实例
Dec 18 Python
详解Python import方法引入模块的实例
Aug 02 Python
python可视化实现代码
Jan 15 Python
python解析含有重复key的json方法
Jan 22 Python
手把手教你pycharm专业版安装破解教程(linux版)
Sep 26 Python
Python进程,多进程,获取进程id,给子进程传递参数操作示例
Oct 11 Python
python如何实现不可变字典inmutabledict
Jan 08 Python
浅谈keras 模型用于预测时的注意事项
Jun 27 Python
Pycharm的Available Packages为空的解决方法
Sep 18 Python
Python进程池与进程锁之语法学习
Apr 11 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来写记数器(详细介绍)
2006/10/09 PHP
php mysql PDO 查询操作的实例详解
2017/09/23 PHP
新闻内页-JS分页
2006/06/07 Javascript
向fckeditor编辑器插入指定代码的方法
2007/05/25 Javascript
jQuery怎么解析Json字符串(Json格式/Json对象)
2013/08/09 Javascript
浅析用prototype定义自己的方法
2013/11/14 Javascript
jQuery Masonry瀑布流插件使用详解
2014/11/17 Javascript
javascript面向对象之共享成员属性与方法及prototype关键字用法
2015/01/13 Javascript
移动端JQ插件hammer使用详解
2015/07/03 Javascript
JavaScript SHA1加密算法实现详细代码
2016/10/06 Javascript
微信小程序 富文本转文本实例详解
2016/10/24 Javascript
BootStrap实现轮播图效果(收藏)
2016/12/30 Javascript
Vue组件通信之Bus的具体使用
2017/12/28 Javascript
vue几个常用跨域处理方式介绍
2018/02/07 Javascript
jQuery实现判断上传图片类型和大小的方法示例
2018/04/11 jQuery
详解ECMAScript typeof用法
2018/07/25 Javascript
详解ES6 中的Object.assign()的用法实例代码
2021/01/11 Javascript
python实现基本进制转换的方法
2015/07/11 Python
Python中你应该知道的一些内置函数
2017/03/31 Python
python正则表达式的使用
2017/06/12 Python
Python下调用Linux的Shell命令的方法
2018/06/12 Python
有关Python的22个编程技巧
2018/08/29 Python
numpy.where() 用法详解
2019/05/27 Python
python实现网站用户名密码自动登录功能
2019/08/09 Python
tensorflow使用freeze_graph.py将ckpt转为pb文件的方法
2020/04/22 Python
Pytorch环境搭建与基本语法
2020/06/03 Python
python获取linux系统信息的三种方法
2020/10/14 Python
CSS3中Animation动画属性用法详解
2016/07/04 HTML / CSS
赫里福德的一家乡村零售商店:Philip Morris & Son
2017/06/25 全球购物
美国婚礼和派对礼品网站:Kate Aspen(新娘送礼会、迎婴派对)
2018/03/28 全球购物
大学校庆策划书
2014/01/31 职场文书
2014年终工作总结范本
2014/12/15 职场文书
2014年骨干教师工作总结
2014/12/19 职场文书
家长对学校的意见和建议
2015/06/03 职场文书
Python爬虫入门案例之爬取去哪儿旅游景点攻略以及可视化分析
2021/10/16 Python
Redis如何使用乐观锁(CAS)保证数据一致性
2022/03/25 Redis