基于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列表去重的二种方法
Feb 14 Python
python发送邮件示例(支持中文邮件标题)
Feb 16 Python
Python使用爬虫猜密码
Feb 19 Python
实例解析Python设计模式编程之桥接模式的运用
Mar 02 Python
Python迭代器定义与简单用法分析
Apr 30 Python
图文详解Django使用Pycharm连接MySQL数据库
Aug 09 Python
如何爬取通过ajax加载数据的网站
Aug 15 Python
浅谈tensorflow之内存暴涨问题
Feb 05 Python
Pycharm最常用的快捷键及使用技巧
Mar 05 Python
python实现数字炸弹游戏
Jul 17 Python
提取视频中的音频 Python只需要三行代码!
May 10 Python
pd.drop_duplicates删除重复行的方法实现
Jun 16 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
JS与PHP向函数传递可变参数的区别实例代码
2011/05/18 PHP
php中memcache 基本操作实例
2015/05/17 PHP
Laravel 登录后清空COOKIE的操作方法
2019/10/14 PHP
php判断某个方法是否存在函数function_exists (),method_exists()与is_callable()区别与用法解析
2020/04/20 PHP
javascript写的一个链表实现代码
2009/10/25 Javascript
javascript实现文字图片上下滚动的具体实例
2013/06/28 Javascript
Ext JS添加子组件的误区探讨
2013/06/28 Javascript
html的DOM中Event对象onblur事件用法实例
2015/01/21 Javascript
深入理解JavaScript系列(17):面向对象编程之概论详细介绍
2015/03/04 Javascript
jQuery插件实现静态HTML验证码校验
2015/11/06 Javascript
jQuery Validate初步体验(二)
2015/12/12 Javascript
极易被忽视的javascript面试题七问七答
2016/02/15 Javascript
jQuery图片切换动画特效
2016/11/02 Javascript
Bootstrap 填充Json数据的实例代码
2017/01/11 Javascript
Vue异步组件使用详解
2017/04/08 Javascript
JavaScript实现的前端AES加密解密功能【基于CryptoJS】
2018/08/28 Javascript
node.js实现http服务器与浏览器之间的内容缓存操作示例
2020/02/11 Javascript
微信小程序onShareTimeline()实现分享朋友圈
2021/01/07 Javascript
Python内置函数的用法实例教程
2014/09/08 Python
Python实现将绝对URL替换成相对URL的方法
2015/06/28 Python
Python使用QQ邮箱发送Email的方法实例
2017/02/09 Python
python3.5 + PyQt5 +Eric6 实现的一个计算器代码
2017/03/11 Python
python使用正则表达式替换匹配成功的组并输出替换的次数
2017/11/22 Python
django解决订单并发问题【推荐】
2019/07/31 Python
python 有效的括号的实现代码示例
2019/11/11 Python
Pandas直接读取sql脚本的方法
2021/01/21 Python
香港最新科技与优质家居产品购物网站:J SELECT
2018/08/21 全球购物
超市营业员岗位职责
2013/12/20 职场文书
新学期开学寄语
2014/01/18 职场文书
联谊活动策划书
2014/01/26 职场文书
离婚协议书怎么写
2014/09/12 职场文书
村党的群众路线教育实践活动工作总结
2014/10/25 职场文书
欢送会主持词
2015/07/01 职场文书
nginx rewrite功能使用场景分析
2022/05/30 Servers
nginx设置资源请求目录的方式详解
2022/05/30 Servers
Win11 Beta 预览版 22621.575 和 22622.575更新补丁KB5016694发布(附更新内容大全)
2022/08/14 数码科技