如何加載訓練完畢後的模型文件繼續訓練模型

訓練完成後獲得了模型文件,下一次想接着上次的基礎繼續進行訓練,這可怎麼辦?框架

小周來支招,打一頓就行了3d

  • 基於keras框架獲得的h5文件

第一次訓練模型獲得的h5文件:code

model = Sequential()
model.add(LSTM(150, input_shape=(train_x.shape[1], train_x.shape[2]),return_sequences=False))
model.add(Dense(30))
model.summary() 
model.compile(loss=["mse"], optimizer='adam',metrics=['mape','mae','mse'])
history = model.fit(train_x, train_y, epochs=epochs, batch_size=batch_size,  validation_data=[test_x, test_y],verbose=2, shuffle=True)
#save LeNet_model_files after train
model.save('lstm_model.h5')

利用h5文件接着上次的基礎繼續進行訓練,只需:blog

#加載模型文件
model=load_model('lstm_model.h5')
model._make_predict_function()
#繼續用數據訓練
history = model.fit(train_x, train_y, epochs=epochs, batch_size=batch_size,  validation_data=[test_x, test_y],verbose=2, shuffle=True)
model.save('lstm_model2.h5')
  • 基於tensorflow框架獲得的ckpt文件

先構建原模型圖
再加載原模型

 圖上是加載模型進行預測,把相應代碼改爲下面的訓練便可實現繼續訓練!input

train_step.run(feed_dict={x: images, y_: batch[1],keep_prob1:prob1,keep_prob2:prob2,keep_prob3:prob3})