# 使用 Keras 建立 LSTM 模型 - 2 ### 訓練模型 在Keras中使用model.fit()方法來訓練模型,方法需要傳入訓練資料(x_train, y_train)、batch_size、epochs等參數。 ```python= model.fit(x_train, y_train, batch_size=32, epochs=100) ``` 代表32筆資料為一個batch,訓練100次(epochs),兩者皆可根據需求而調整。 x_train是輸入對話的訊息,y_train是對應的回答薰習。 Keras會自動計算損失函數值(loss)並印出來,可透過觀察loss來判斷模型是否已經達到最佳效果。若loss不再下降,或者達到一定的訓練週期數後,loss不再明顯下降,就認為訓練已經達到最好效果。 ### 評估模型 使用model.evaluate()方法來評估模型的性能。 需要傳入測試資料(x_test, y_test)作為參數,並且可以選擇性地傳入batch_size以及verbose參數。 ```python= test_loss, test_acc = model.evaluate(x_test, y_test, batch_size=64, verbose=1) print('Test accuracy:', test_acc) ``` test_loss越小,test_acc越高時模型就越好。 ### 保存模型 用model.save()方法來將模型保存到指定的檔案中。 ```python= model.save('my_model.h5') ``` 存為檔名my_model.h5 載入使用 ```python= from keras.models import load_model loaded_model = load_model('my_model.h5') ``` 若要儲存權重則增加weights。 ```python= model.save_weights("model_weights.h5") ``` 載入使用 ```python= from keras.models import load_model model.load_weights("model_weights.h5") ``` 此模型會將模型結構,權重和訓練配置儲存在一個檔案中。 ### 部署模型 使用model.save()方法將訓練好的模型儲存到磁碟中。之後用keras.models.load_model()來載入模型。