如何使用回撥(callbacks)來觸發訓練週期的結束

在 TensorFlow 和 Keras 中,可以使用回撥 (callbacks) 來在訓練週期結束時觸發某些操作。回撥是一個類似於函數的物件,可以在訓練過程中的特定時間點被調用。

其中一種回撥叫做 ModelCheckpoint,它能在訓練的某個時間點保存模型的權重。另一種叫做 EarlyStopping,它能在訓練達到一定的準確率後停止訓練。

要在訓練週期結束時觸發回撥,需要在調用 fit() 或者 fit_generator() 時將它們添加為參數。

範例:

from keras.callbacks import ModelCheckpoint, EarlyStopping

callbacks = [ModelCheckpoint('model.h5'), EarlyStopping(monitor='val_loss', patience=2)]

model.fit(X_train, y_train, epochs=10, callbacks=callbacks, validation_data=(X_val, y_val))

這樣的程式會在訓練結束後儲存權重並在驗證損失停止改善2次後停止訓練

通常,回撥可以根據您的需求進行自定義,並結合多種回撥以實現複雜的訓練流程。


17年資歷女工程師,專精於動畫、影像辨識以及即時串流程式開發。經常組織活動,邀請優秀的女性分享她們的技術專長,並在眾多場合分享自己的技術知識,也活躍於非營利組織,辦理活動來支持特殊兒及其家庭。期待用技術改變世界。

如果你認同我或想支持我的努力,歡迎請我喝一杯咖啡!讓我更有動力分享知識!