在Keras中,有时候需要对模型进行序列化与反序列化。进行模型序列化时,会将模型结果与模型权重保存在不同的文件中,模型权重通常保存在HDF5文件中,模型的结构可以保存在JSON或者YAML文件中。后二者方法大同小异,这里以JSON为例说明一下Keras模型的保存与加载。
from sklearn import datasets
import numpy as np
from keras.models import Sequential
from keras.layers import Dense
from keras.utils import to_categorical
from keras.models import model_from_json
#导入数据
dataset = datasets.load_iris()
x = dataset.data
Y = dataset.target
#将标签数据转换为分类编码
Y_labels = to_categorical(Y, num_classes=3)
#设定随机种子
seed = 7
np.random.seed(seed)
#构建模型函数
def create_model(optimizer = 'rmsprop', init = 'glorot_uniform'):
#构建模型
model = Sequential()
model.add(Dense(units=4, activation='relu', input_dim=4, kernel_initializer=init))
model.add(Dense(units=6, activation='relu', kernel_initializer=init))
model.add(Dense(units=3, activation='softmax', kernel_initializer=init))
#编译模型
model.compile(loss='categorical_crossentropy', optimizer=optimizer, metrics=['

这篇博客介绍了如何在Keras中使用JSON和HDF5文件进行模型的序列化和反序列化。模型结构以JSON格式保存,权重则保存在HDF5文件中。在加载模型后,需要先编译模型才能进行预测。
最低0.47元/天 解锁文章
4万+

被折叠的 条评论
为什么被折叠?



