在Fastai中,callbacks是用來在訓練過程中添加額外功能的工具。通過callbacks,用戶可以在訓練過程中實現各種操作,比如保存模型、記錄訓練指標、動態調整學習率等。
要使用callbacks功能,首先需要創建一個callbacks對象,然后將其傳入learner對象的fit方法中。例如:
from fastai.vision.all import *
# 創建callbacks對象
callbacks = [SaveModelCallback()]
# 創建learner對象
learn = cnn_learner(dls, resnet34, metrics=error_rate)
# 使用callbacks進行訓練
learn.fine_tune(5, cbs=callbacks)
在上面的例子中,我們創建了一個SaveModelCallback對象,并將其傳入了learner對象的fine_tune方法中。在訓練過程中,SaveModelCallback會在每個epoch結束時保存模型的權重。
除了SaveModelCallback,Fastai還提供了許多其他內置的callbacks,用戶可以根據自己的需求選擇合適的callbacks來實現不同的功能。同時,用戶也可以自定義callbacks來擴展功能。