基于keras 模型、结构、权重保存的实现
作者:AI东海 时间:2022-12-20 06:31:22
如何将训练好的网络进行保存,我们可以用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)
因此我们建模时最好给每个层定义名字
来源:https://blog.csdn.net/gdh756462786/article/details/79163278
标签:keras,模型,结构,权重
0
投稿
猜你喜欢
Mysql数据库之索引优化
2024-01-23 19:27:40
python爬取王者荣耀全皮肤的简单实现代码
2021-03-14 16:36:43
go语言发送smtp邮件的实现示例
2023-06-20 06:59:14
Sublime Text v4.0(4143)安装方法
2023-09-27 12:04:50
MySQL自增列插入0值的解决方案
2024-01-22 00:15:09
Python操作Redis之设置key的过期时间实例代码
2022-02-11 06:13:05
mysql定时自动备份数据库的方法步骤
2024-01-15 10:01:19
PHP 修复未正常关闭的HTML标签实现代码(支持嵌套和就近闭合)
2024-04-28 09:44:51
基于Python编写一个B站全自动抽奖的小程序
2021-05-03 02:11:07
vue从后台渲染文章列表以及根据id跳转文章详情详解
2024-04-30 10:39:01
python连接kafka加载数据的项目实践
2021-04-23 07:14:38
Hibernate Oracle sequence的使用技巧
2023-07-06 05:18:42
ElementUI的this.$notify.close()调用不起作用的解决
2024-05-09 09:53:16
pycharm 实现本地写代码,服务器运行的操作
2023-04-10 21:12:44
使用Gomock进行单元测试的方法示例
2024-04-25 15:13:23
Python基于checksum计算文件是否相同的方法
2022-11-08 20:30:48
python版单链表反转
2021-08-20 17:11:12
获取body标签的两种方法
2024-05-08 09:39:26
python去掉行尾的换行符方法
2021-10-24 02:36:22
使用Python编写简单网络爬虫抓取视频下载资源
2023-11-02 01:44:22