Keras提供了一個Callback類,可以在模型訓練過程中動態地調整學習率。可以通過在fit()方法中傳入callbacks參數來使用學習率調度器。
下面是一個例子,使用ReduceLROnPlateau回調函數來動態地調整學習率:
from keras.callbacks import ReduceLROnPlateau
reduce_lr = ReduceLROnPlateau(factor=0.1, patience=5, min_lr=0.0001)
model.fit(x_train, y_train, epochs=100, callbacks=[reduce_lr])
在上面的例子中,ReduceLROnPlateau回調函數會在損失函數停止改善時降低學習率。其中,factor參數指定學習率降低的因子,patience參數指定在多少個epoch內沒有改善時降低學習率,min_lr參數指定學習率的下限。
除了ReduceLROnPlateau回調函數,Keras還提供了其他一些學習率調度器的回調函數,如LearningRateScheduler、EarlyStopping等,可以根據具體的需求選擇合適的學習率調度器。