基于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 27 Python
Python实现程序的单一实例用法分析
Jun 03 Python
Python程序中设置HTTP代理
Nov 06 Python
分析Python读取文件时的路径问题
Feb 11 Python
python 输入一个数n,求n个数求乘或求和的实例
Nov 13 Python
分享8个非常流行的 Python 可视化工具包
Jun 05 Python
用Python实现将一张图片分成9宫格的示例
Jul 05 Python
使用python写的opencv实时监测和解析二维码和条形码
Aug 14 Python
python防止随意修改类属性的实现方法
Aug 21 Python
Python切图九宫格的实现方法
Oct 10 Python
python3通过qq邮箱发送邮件以及附件
May 20 Python
python 实现有道翻译功能
Feb 26 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对二维数组进行排序的简单实例
2013/12/19 PHP
php读取纯真ip数据库使用示例
2014/01/26 PHP
PHP递归遍历指定目录的文件并统计文件数量的方法
2015/03/24 PHP
PHP获取数组最大值下标的方法
2015/05/12 PHP
PHP.ini安全配置检测工具pcc简单介绍
2015/07/02 PHP
详谈PHP程序Laravel 5框架的优化技巧
2016/07/18 PHP
使用PHPWord生成word文档的方法详解
2019/06/06 PHP
深入分析PHP设计模式
2020/06/15 PHP
脚本安需导入(装载)的三种模式的对比
2007/06/24 Javascript
JavaScript 判断浏览器类型及版本
2009/02/21 Javascript
JavaScript高级程序设计(第3版)学习笔记13 ECMAScript5新特性
2012/10/11 Javascript
javascript获取所有同类checkbox选项(实例代码)
2013/11/07 Javascript
jQuery简单实现隐藏以及显示特效
2015/02/26 Javascript
jquery实现页面百叶窗走马灯式翻滚显示效果的方法
2015/03/12 Javascript
JavaScript基础教程——入门必看篇
2016/05/20 Javascript
jQuery文本框得到与失去焦点动态改变样式效果
2016/09/08 Javascript
Angular使用动态加载组件方法实现Dialog的示例
2018/05/11 Javascript
js实现轮播图的完整代码
2020/10/26 Javascript
基于JS实现web端录音与播放功能
2019/04/17 Javascript
vue中解决微信html5原生ios虚拟键返回不刷新问题
2020/10/20 Javascript
[01:46]新英雄登场
2019/09/10 DOTA
用python分割TXT文件成4K的TXT文件
2009/05/23 Python
python3.0 模拟用户登录,三次错误锁定的实例
2017/11/02 Python
详细整理python 字符串(str)与列表(list)以及数组(array)之间的转换方法
2019/08/30 Python
Django中密码的加密、验密、解密操作
2019/12/19 Python
python正则过滤字母、中文、数字及特殊字符方法详解
2020/02/11 Python
python将logging模块封装成单独模块并实现动态切换Level方式
2020/05/12 Python
paramiko使用tail实时获取服务器的日志输出详解
2020/12/06 Python
基于PyInstaller各参数的含义说明
2021/03/04 Python
Stella McCartney官网:成衣、包袋、香水、内衣、童装及Adidas系列
2018/12/20 全球购物
东方通信股份有限公司VC面试题
2014/08/27 面试题
工业设计专业自荐书
2014/06/05 职场文书
ktv周年庆活动方案
2014/08/18 职场文书
稽核岗位职责范本
2015/04/13 职场文书
小学运动会入场词
2015/07/18 职场文书
再谈python_tkinter弹出对话框创建
2022/03/20 Python