Skip to content

Instantly share code, notes, and snippets.

@cfperez
Created July 10, 2017 18:39
Show Gist options
  • Save cfperez/47934d54db4e527457f185bf6536ebd6 to your computer and use it in GitHub Desktop.
Save cfperez/47934d54db4e527457f185bf6536ebd6 to your computer and use it in GitHub Desktop.
Learning rate scheduler
from keras.callbacks import LearningRateScheduler
def scheduler(schedule):
def lr_schedule(epoch):
epoch += 1
for ep,lr in sorted(schedule, reverse=True):
if epoch >= ep:
return lr
raise ValueError()
return lr_schedule
def test_scheduler():
truth = [1e-4, 1e-4, 3e-5, 3e-5, 3e-5]
for epoch in range(0,5):
lr = scheduler([(1, 1e-4), (3, 3e-5)])(epoch)
assert lr == truth[epoch]
# Used in Keras model.fit()
callbacks = [LearningRateScheduler(scheduler([(1, 1e-4), (10, 3e-5), (15, 1e-5)]))]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment