emmi.optim.lion¶
Lion Optimizer Paper: Symbolic Discovery of Optimization Algorithms - https://arxiv.org/abs/2302.06675 Original Impl: https://github.com/google/automl/tree/master/lion This implementation is adapted from timm: https://github.com/huggingface/pytorch-image-models/blob/e44f14d7d2f557b9f3add82ee4f1ed2beefbb30d/timm/optim/lion.py
Classes¶
Implements Lion algorithm. |
Functions¶
|
Functional API that performs Lion algorithm computation. |
Module Contents¶
- class emmi.optim.lion.Lion(params, lr, betas=(0.9, 0.99), weight_decay=0.0, caution=False, maximize=False, foreach=None)¶
Bases:
torch.optim.optimizer.OptimizerImplements Lion algorithm.
Initialize the hyperparameters.
- Parameters:
params (torch.optim.optimizer.ParamsT) – iterable of parameters to optimize or dicts defining parameter groups
lr (float) – learning rate
betas (tuple[float, float]) – coefficients used for computing running averages of gradient and its square
weight_decay (float) – weight decay coefficient
caution (bool) – apply caution
maximize (bool)
foreach (bool | None)
- step(closure=None)¶
Performs a single optimization step.
- Parameters:
closure – A closure that reevaluates the model and returns the loss.
- Returns:
the loss.
- emmi.optim.lion.lion(params, grads, exp_avgs, maximize=False, foreach=None, *, beta1, beta2, lr, weight_decay, caution)¶
Functional API that performs Lion algorithm computation.