keras上手系列之: 模型的保存

本文介绍了如何在Keras中保存和加载模型。包括整体保存模型及参数,使用HDF5文件存储模型结构、权重和配置信息;只保存模型的结构,将模型序列化为JSON或YAML文件;以及单独保存和加载模型权重。强调了在模型构建时为层指定名称的重要性,以便于在不同网络结构中加载权重。
摘要由CSDN通过智能技术生成

如何将训练好的网络进行保存以便以后使用, 进行后续的研究呢?
首先,定义一个简单的LSTM模型:

from keras.models import Sequential
from keras.layers import LSTM, Dense
model = Sequential()
model.add(LSTM(4,input_shape=(1,8)))
model.add(Dense(1))

整体保存模型及参数

首先,安装python的h5py包.
sudo pip3 install h5py
之后调用model.save(filepath)将Keras模型和权重保存在一个HDF5文件中,该文件将包含:
- 模型的结构,以便重构该模型
- 模型的权重
- 训练配置(损失函数,优化器等)
- 优化器的状态,以便于从上次训练中断的地方开始
使用keras.models.load_model(filepath)来重新实例化之前训练好的模型,如果文件中存储了训练配置的话,该函数还会同时完成模型的编译

from keras.models import load_model
model.save('my_model.h5')  # creates a HDF5 file 'my_model.h5'
del model  # deletes the existing model
# returns a compiled model identical to the previous one
model = load_model('my_model.h5')

只保存模型的结构

可以用model.to_jason()将模型序列化保存为json文件.

# save as JSON
json_string = model.to_json()

例如上面LSTM网络的json_string就是:

json_string
Out[10]: '{
  "class_name": "Sequential", "config": [{
  "class_name": "LSTM", 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值