如何在 Python 中使用 Keras 在特定輪數後儲存模型權重?


TensorFlow 是 Google 提供的一個機器學習框架。它是一個開源框架,與 Python 結合使用以實現演算法、深度學習應用程式等等。它用於研究和生產用途。

它具有最佳化技術,有助於快速執行復雜的數學運算。

可以使用以下程式碼行在 Windows 上安裝“tensorflow”包:

pip install tensorflow

張量是 TensorFlow 中使用的資料結構。它有助於連線流圖中的邊。此流圖稱為“資料流圖”。張量只不過是多維陣列或列表。

Keras 是作為 ONEIROS(開放式神經電子智慧機器人作業系統)專案研究的一部分開發的。Keras 是一個用 Python 編寫的深度學習 API。它是一個高階 API,具有高效的介面,有助於解決機器學習問題。

它具有高度的可擴充套件性,並具有跨平臺能力。這意味著 Keras 可以執行在 TPU 或 GPU 叢集上。Keras 模型也可以匯出以在 Web 瀏覽器或行動電話上執行。

Keras 已經存在於 TensorFlow 包中。可以使用以下程式碼行訪問它。

import tensorflow
from tensorflow import keras

我們使用 Google Colaboratory 來執行以下程式碼。Google Colab 或 Colaboratory 幫助在瀏覽器上執行 Python 程式碼,無需任何配置即可免費訪問 GPU(圖形處理單元)。Colaboratory 建立在 Jupyter Notebook 之上。

以下是程式碼:

示例

checkpoint_path = "training_2/cp−{epoch:04d}.ckpt"
checkpoint_dir = os.path.dirname(checkpoint_path)

batch_size = 32
print("Callback being created to save the model's weight after every 4 epoch")
cp_callback = tf.keras.callbacks.ModelCheckpoint(
   filepath=checkpoint_path,
   verbose=1,
   save_weights_only=True,
   save_freq=4*batch_size)

print("A new model instance is created")
model = create_model()
print("The weights are saved using 'checkpoint_path'")
model.save_weights(checkpoint_path.format(epoch=0))

程式碼來源: https://www.tensorflow.org/tutorials/keras/save_and_load

輸出

Callback being created to save the model's weight after every 4 epoch
A new model instance is created
The weight are saved using 'checkpoint_path'

解釋

  • 回撥具有許多選項,例如為檢查點提供唯一名稱、調整檢查點的頻率等等。

  • 新的模型已訓練。

  • 此新模型在每 4 個輪次後都會儲存一個唯一名稱的檢查點。

更新於:2021年1月20日

199 次瀏覽

啟動您的職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.