--- a +++ b/src/custom_callbacks.py @@ -0,0 +1,13 @@ +import tensorflow as tf +from tensorflow.keras.callbacks import LearningRateScheduler +import numpy as np + + +def step_decay_schedule(initial_lr=1e-3, decay_factor=0.75, step_size=10): + ''' + Wrapper function to create a LearningRateScheduler with step decay schedule. + ''' + def schedule(epoch): + return initial_lr * (decay_factor ** np.floor(epoch/step_size)) + + return LearningRateScheduler(schedule)