Views
No views yet
1pip install git+https://github.com/amoudgl/celo2.git
2hf download amoudgl/celo2-base --local-dir ./celo2-baseload_checkpoint method to fetch pretrained params from checkpoint path:1from celo2_optax import load_checkpoint
2pretrained_params = load_checkpoint('./celo2-base/theta.state')scale_by_celo2 method that takes pretrained params as input:1import optax
2from celo2_optax import scale_by_celo2
3
4optimizer = optax.chain(
5 scale_by_celo2(pretrained_params, orthogonalize=False),
6 optax.add_decayed_weights(weight_decay),
7 optax.scale_by_learning_rate(lr_schedule),
8)1from celo2_optax import load_checkpoint
2import jax
3
4pretrained_params = load_checkpoint('./celo2-base/theta.state') # dictionary containing weights
5print(jax.tree.map(lambda x: x.shape, pretrained_params))ff_mod_stack key with weight matrices (w0__*, w1, w2) and biases (b0, b1, b2). Each w0__* key contains weights corresponding to particular input feature such as momentum, gradient, parameter, etc.| Key | Value |
|---|---|
| Optimizer architecture | MLP, 2 hidden layers, 8 units each |
| Meta-training tasks | 4 image classification tasks (MNIST, FMNIST, CIFAR-10, SVHN) |
| Task architecture | MLP (64-32-10) |
| Meta-trainer | Persistent Evolution Strategies (PES) |
| Outer iterations | 100K |
| Truncation length | 50 |
| Min unroll length | 100 |
| Max unroll length | 2000 |
| File | Description |
|---|---|
theta.state | Pretrained MLP optimizer weights |
config.json | Meta-training configuration |
1@misc{moudgil2026celo2,
2 title={Celo2: Towards Learned Optimization Free Lunch},
3 author={Abhinav Moudgil and Boris Knyazev and Eugene Belilovsky},
4 year={2026},
5 eprint={2602.19142},
6 archivePrefix={arXiv},
7 primaryClass={cs.LG},
8 url={https://arxiv.org/abs/2602.19142},
9}