使用warmup的余弦退火学习率

修改超参数 #
训练过程中还有可能对超参数进行微调,比如最常见的一个需求是根据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])
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章