Keras——保存和提取模型

1.前言

今天讲解如何保存神经网络,这样以后想要用的时候直接提取就可以。

2.保存和提取模型

2.1.导入必要模块

import numpy as np 
from keras.models import Sequential   #搭建模型模块
from keras.layers import Dense    #全连接
from keras.models import load_model    #加载模型模块

2.2.构造数据

np.random.seed(42)
X = np.linspace(-1,1,50)
np.random.shuffle(X)
Y = -2*X + 4 + np.random.normal(0,0.05,(50,))
X_train, Y_train = X[:35],Y[:35]
X_test, Y_test = X[35:], Y[35:]

2.3.搭建模型并训练

model = Sequential()
model.add(Dense(output_dim=1,input_dim=1))   #输入1维,输出1维
model.compile(loss='mse',optimizer='sgd')   #编译模型
for step in range(301):
    cost = model.train_on_batch(X_train,Y_train)    #训练

2.4.保存模型

训练完模型之后,可以打印一下预测的结果,接下来就保存模型。
保存的时候只需要一行代码 model.save,再给它加一个名字就可以用 h5 的格式保存起来。
这里注意,需要已经安装了 HDF5 这个模块。

保存完模型之后,删掉它,后面可以来比较是否成功的保存。

print('test before save:',model.predict(X_test[0:2]))   #预测

在这里插入图片描述

model.save('my_model.h5')   #保存模型
del model     #删除模型

导入保存好的模型,再执行一遍预测,与之前预测的结果比较,可以发现结果是一样的。

model = load_model('my_model.h5')   #加载模型
print('test after load:',model.predict(X_test[0:2]))   #用加载的模型预测

在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章