我正在使用 Python 3.7 和 TensorFlow 2.0,我必须使用以下学习率调度程序为 160 个 epoch 训练一个神经网络:
在 80 和 120 个 epoch 时将学习率降低 10 倍,其中初始学习率 = 0.01。
我如何编写一个函数来合并这个学习率调度程序:
def scheduler(epoch):
if epoch < 80:
return 0.01
elif epoch >= 80 and epoch < 120:
return 0.01 / 10
elif epoch >= 120:
return 0.01 / 100
callback = tf.keras.callbacks.LearningRateScheduler(scheduler)
model.fit(
x = data, y = labels,
epochs=100, callbacks=[callback],
validation_data=(val_data, val_labels))
这是一个正确的实现吗?
谢谢!