跳轉到

9.1 Save Load Model

範例程式:Open In Colab

使用 Keras 原生 .keras 格式儲存、載入模型,並確認載入後的模型可以重新評估與推論。

1. 學習目標

模型訓練完成後,通常不會只停留在 notebook 中。我們需要把模型保存起來,日後才能重新載入、做推論、部署到 API、轉換成 TensorFlow Lite 或 TensorFlow.js。

本篇示範最基本也最重要的流程:

訓練模型 -> 儲存模型 -> 載入模型 -> 重新評估 -> 預測新資料

2. 建議使用什麼格式?

Keras 目前建議使用原生 .keras 格式保存完整模型。這個格式會保存模型架構、權重與訓練設定,適合一般 Keras 模型保存與重新載入。

model.save('my_model.keras')
loaded_model = tf.keras.models.load_model('my_model.keras')

Note

若要部署到 TensorFlow Serving 或跨平台工具,也可能使用 SavedModel、TensorFlow Lite 或 TensorFlow.js。這些會在後續部署章節介紹。

3. 標準實作流程

本篇使用 Fashion-MNIST 建立一個小型分類模型,訓練後儲存為 .keras,再重新載入確認模型結果一致。

4. 儲存與載入後要檢查什麼?

  1. 檔案是否成功建立。
  2. load_model() 是否可以正常載入。
  3. 載入後的 test accuracy 是否合理。
  4. 載入後是否可以 predict()
  5. 類別名稱、前處理流程是否有一併保存或另外記錄。

5. 如何套用自己的模型?

自己的模型訓練完成後,只要呼叫:

model.save('your_model.keras')

下次使用時:

model = tf.keras.models.load_model('your_model.keras')
pred = model.predict(new_data)

如果你的前處理不在模型裡,例如使用 scikit-learn 的 StandardScaler,則 scaler 也要另外保存,否則推論時資料尺度會不一致。

6. 小結

保存與載入模型是從教學走向實務的第一步。只要能穩定完成 save/load/predict,後續才有辦法延伸到 API 部署、行動裝置部署或瀏覽器端推論。