AdaBound optimizer in Keras.
pip install keras-adaboundfrom keras_adabound import AdaBound
model.compile(optimizer=AdaBound(lr=1e-3, final_lr=0.1), loss=model_loss)from keras_adabound import AdaBound
model = keras.models.load_model(model_path, custom_objects={'AdaBound': AdaBound})The optimizer does not have an argument named weight_decay (as in the official repo) since it can be done by adding L2 regularizers to weights:
import keras
regularizer = keras.regularizers.l2(WEIGHT_DECAY / 2)
for layer in model.layers:
    for attr in ['kernel_regularizer', 'bias_regularizer']:
        if hasattr(layer, attr) and layer.trainable:
            setattr(layer, attr, regularizer)