自定义一个关于学习率的回调函数
定义函数,可以自定义修改学习率
比如我设置的lr = [0.01, 0.01, 0.001, 0.0001]
epochs = [5, 10, 15, 19, 23]
这跟tensorflow有点不一样,tensorflow自带的需要lr比epoch多设置一个
def scheduler(epoch):
lr = [0.01, 0.01, 0.001, 0.0001]
epochs = [5, 10, 15, 19, 23]
if epoch in epochs:
index_lr = epochs.index(epoch)
lr_now = lr_inputs[index_lr]
lr = K.get_value(self.model.optimizer.lr)
K.set_value(self.model.optimizer.lr, lr_now)
print("pre_lr {}".format(lr))
print("lr changed to {}".format(lr_now))
return K.get_value(self.model.optimizer.lr)
reduce_lr = LearningRateScheduler(scheduler)