修改超參數 #
訓練過程中還有可能對超參數進行微調,比如最常見的一個需求是根據epoch來調整學習率,這可以簡單地通過LearningRateScheduler來實現,它也屬於回調器之一。
from keras.callbacks import LearningRateScheduler
def lr_schedule(epoch):
warmup_epochs = 3
# 根據epoch返回不同的學習率
if epoch < warmup_epochs:
lr = model.lr.get_value() * epoch/warmup_epochs
else:
lr = model.lr.get_value()
return lr
lr_scheduler = LearningRateScheduler(lr_schedule)
model.fit(x_train,
y_train,
epochs=10,
callbacks=[evaluator, lr_scheduler])