修改超参数 #
训练过程中还有可能对超参数进行微调,比如最常见的一个需求是根据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])