使用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])
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章