天天看点

keras 自定义schedule_learning rate

自定义一个关于学习率的回调函数

定义函数,可以自定义修改学习率

比如我设置的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)

           

继续阅读