Introduction
- 回調函數的API類位於
tf.keras.callbacks
類中 通常在模型訓練的過程中,常常會額外作一些非模型訓練的事情
EarlyStopping
:應用在當訓練模型的過程中,如果loss值不再下降,便可提前停止訓練keras.callbacks.EarlyStopping(monitor, min_delta)
monitor
:指定要關注的指標之值,一般情況都是關注驗證集上目標(損失)函數之值min_delta
:閾值- 此次訓練相較於上次訓練的差距是否比閾值低;提前結束訓練
patience
:當此次訓練相較於上次訓練比min_delta
還小時,patience
次數後就提前結束訓練
ModelCheckpint
:訓練模型的過程中,記錄所有訓練參數的中間狀態,其會每隔一段時間將checkpoint保存下來keras.callbacks.ModelCheckpoint(filepath)
- 其須指定
filepath
為一文件名 save_best_only
為True
時則保存最好的模型參數,否則會保存最近一次訓練的模型
TensorBoard
:在模型訓練過程中,實時查看一些參數改變狀況的dashboardkeras.callbacks.Tensorboard(logdir)
- 其須指定
logdir
位置為一資料夾
- 其他回調函數皆收錄於 https://www.tensorflow.org/api_docs/python/tf/keras/callbacks 中
Usage
- 通常
callbacks
都是在訓練的過程中進行監聽;因此是在模型fit
函數裡面添加callbacks
函數 - 通常會定義一個
callbacks
的列表,再將其作為參數傳入到模型fit
的參數中
Example
callbacks文件夾目錄結構
1 | . |
使用tensorboard可視化
1 | tensorboard --logdir="儲存model的文件夾位置" |
- http://localhost:6006/
- PROFILE:是用來記錄記憶體及CPU的使用量