src.model.deeplearn.optimizer.centralized_lion

Classes

CentralizedLion([learning_rate, beta_1, ...])

Stochastic gradient descent using the sign operator to govern the magnitude of the update.

class src.model.deeplearn.optimizer.centralized_lion.CentralizedLion(learning_rate=0.001, beta_1=0.9, beta_2=0.99, weight_decay=None, clipnorm=None, clipvalue=None, global_clipnorm=None, use_ema=False, ema_momentum=0.99, ema_overwrite_frequency=None, loss_scale_factor=None, gradient_accumulation_steps=None, name='lion', **kwargs)

Stochastic gradient descent using the sign operator to govern the magnitude of the update. The optimizer behaves exactly like keras.optimizers.Lion but its gradients are centered.

update_step(gradient, variable, learning_rate)

Modify the gradients of the backbone optimizer by centering them before applying them to fit the model’s parameters.

See CentralizedAdam.center_gradients().

Returns:

Nothing at all, but the parameters are updated with the centered gradients instead of the original ones.