tensorflow2.x学习笔记二十八:使用LearningRateScheduler实现学习率衰减

下面使用一段伪代码来说明如何使用LearningRateScheduler

1、返回值为lr的衰减函数,作为LearningRateScheduler的参数

from tensorflow.python.keras.callbacks import LearningRateScheduler
num_epochs =20
learning_rate=0.3
#定义学习率衰减函数
def scheduler(epoch):
    if epoch < num_epochs * 0.4:
        return learning_rate
    elif epoch < num_epochs * 0.8:
        return learning_rate * 0.1
    else:
        return learning_rate * 0.01

change_Lr = LearningRateScheduler(scheduler)

2、在训练时,将change_Lr传给fitcallbacks参数

history = model.fit(train_generator,
                    steps_per_epoch=10,
                    epochs=epochs,
                    validation_data=valid_generator,
                    validation_steps=10,
                    callbacks=[change_Lr])

注意:在回调函数调用时,此时的epoch的值会自动的传入衰减函数scheduler

你可能感兴趣的:(tensorflow,深度学习,python)