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]))   #用加載的模型預測

在這裏插入圖片描述

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