pytorch-optimizer 3.2.0__tar.gz → 3.3.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pytorch_optimizer-3.2.0/README.md → pytorch_optimizer-3.3.0/PKG-INFO +161 -100
- pytorch_optimizer-3.2.0/PKG-INFO → pytorch_optimizer-3.3.0/README.md +119 -142
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pyproject.toml +12 -10
- pytorch_optimizer-3.3.0/pytorch_optimizer/__init__.py +153 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/base/optimizer.py +16 -0
- pytorch_optimizer-3.3.0/pytorch_optimizer/loss/__init__.py +55 -0
- pytorch_optimizer-3.3.0/pytorch_optimizer/lr_scheduler/__init__.py +96 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/lr_scheduler/linear_warmup.py +2 -2
- {pytorch_optimizer-3.2.0/pytorch_optimizer → pytorch_optimizer-3.3.0/pytorch_optimizer/optimizer}/__init__.py +151 -228
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/adafactor.py +6 -1
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/adalite.py +1 -1
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/adamp.py +6 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/ademamix.py +12 -6
- pytorch_optimizer-3.3.0/pytorch_optimizer/optimizer/adopt.py +132 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/alig.py +10 -0
- pytorch_optimizer-3.3.0/pytorch_optimizer/optimizer/demo.py +447 -0
- pytorch_optimizer-3.3.0/pytorch_optimizer/optimizer/ftrl.py +88 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/galore.py +19 -3
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/grokfast.py +1 -1
- pytorch_optimizer-3.3.0/pytorch_optimizer/optimizer/laprop.py +162 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/lion.py +6 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/lomo.py +2 -2
- pytorch_optimizer-3.3.0/pytorch_optimizer/optimizer/muon.py +253 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/nero.py +23 -1
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/pcgrad.py +17 -1
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/schedulefree.py +174 -1
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/sm3.py +20 -1
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/utils.py +21 -139
- pytorch_optimizer-3.2.0/pytorch_optimizer/lr_scheduler/__init__.py +0 -35
- pytorch_optimizer-3.2.0/pytorch_optimizer/lr_scheduler/experimental/__init__.py +0 -0
- pytorch_optimizer-3.2.0/pytorch_optimizer/optimizer/__init__.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/LICENSE +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/base/__init__.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/base/exception.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/base/scheduler.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/base/types.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/loss/bi_tempered.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/loss/cross_entropy.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/loss/dice.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/loss/f1.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/loss/focal.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/loss/jaccard.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/loss/ldam.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/loss/lovasz.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/loss/tversky.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/lr_scheduler/chebyshev.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/lr_scheduler/cosine_anealing.py +0 -0
- {pytorch_optimizer-3.2.0/pytorch_optimizer/loss → pytorch_optimizer-3.3.0/pytorch_optimizer/lr_scheduler/experimental}/__init__.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/lr_scheduler/experimental/deberta_v3_lr_scheduler.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/lr_scheduler/proportion.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/lr_scheduler/rex.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/lr_scheduler/wsd.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/a2grad.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/adabelief.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/adabound.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/adadelta.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/adahessian.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/adai.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/adam_mini.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/adamax.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/adamg.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/adamod.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/adams.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/adamw.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/adan.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/adanorm.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/adapnm.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/adashift.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/adasmooth.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/agc.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/aggmo.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/aida.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/amos.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/apollo.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/avagrad.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/came.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/dadapt.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/diffgrad.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/fadam.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/fp16.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/fromage.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/gc.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/gravity.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/kate.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/lamb.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/lars.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/lookahead.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/madgrad.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/msvag.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/novograd.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/padam.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/pid.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/pnm.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/prodigy.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/qhadam.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/qhm.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/radam.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/ranger.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/ranger21.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/rotograd.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/sam.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/sgd.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/sgdp.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/shampoo.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/shampoo_utils.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/soap.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/sophia.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/srmm.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/swats.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/tiger.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/trac.py +0 -0
- {pytorch_optimizer-3.2.0 → pytorch_optimizer-3.3.0}/pytorch_optimizer/optimizer/yogi.py +0 -0
|
@@ -1,3 +1,44 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: pytorch_optimizer
|
|
3
|
+
Version: 3.3.0
|
|
4
|
+
Summary: optimizer & lr scheduler & objective function collections in PyTorch
|
|
5
|
+
Home-page: https://github.com/kozistr/pytorch_optimizer
|
|
6
|
+
License: Apache-2.0
|
|
7
|
+
Keywords: pytorch,deep-learning,optimizer,lr scheduler,A2Grad,ASGD,AccSGD,AdaBelief,AdaBound,AdaDelta,AdaFactor,AdaMax,AdamG,AdaMod,AdaNorm,AdaPNM,AdaSmooth,AdEMAMix,ADOPT,AdaHessian,Adai,Adalite,AdaLomo,AdamMini,AdamP,AdamS,Adan,AggMo,Aida,AliG,Amos,Apollo,AvaGrad,bSAM,CAME,DAdaptAdaGrad,DAdaptAdam,DAdaptAdan,DAdaptSGD,DAdaptLion,DeMo,DiffGrad,FAdam,Fromage,FTRL,GaLore,Gravity,GrokFast,GSAM,Kate,Lamb,LaProp,LARS,Lion,LOMO,Lookahead,MADGRAD,MSVAG,Muno,Nero,NovoGrad,PAdam,PCGrad,PID,PNM,Prodigy,QHAdam,QHM,RAdam,Ranger,Ranger21,RotoGrad,SAM,ScheduleFreeSGD,ScheduleFreeAdamW,ScheduleFreeRAdam,SGDP,Shampoo,ScalableShampoo,SGDW,SignSGD,SM3,SOAP,SopihaH,SRMM,StableAdamW,SWATS,Tiger,TRAC,WSAM,Yogi,BCE,BCEFocal,Focal,FocalCosine,SoftF1,Dice,LDAM,Jaccard,Bi-Tempered,Tversky,FocalTversky,LovaszHinge,bitsandbytes,WSD,QGaLore
|
|
8
|
+
Author: kozistr
|
|
9
|
+
Author-email: kozistr@gmail.com
|
|
10
|
+
Maintainer: kozistr
|
|
11
|
+
Maintainer-email: kozistr@gmail.com
|
|
12
|
+
Requires-Python: >=3.8
|
|
13
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
14
|
+
Classifier: Intended Audience :: Developers
|
|
15
|
+
Classifier: Intended Audience :: Education
|
|
16
|
+
Classifier: Intended Audience :: Science/Research
|
|
17
|
+
Classifier: License :: OSI Approved :: Apache Software License
|
|
18
|
+
Classifier: Operating System :: OS Independent
|
|
19
|
+
Classifier: Programming Language :: Python :: 3
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
23
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
24
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
25
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
26
|
+
Classifier: Programming Language :: Python :: 3.6
|
|
27
|
+
Classifier: Programming Language :: Python :: 3.7
|
|
28
|
+
Classifier: Topic :: Scientific/Engineering
|
|
29
|
+
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
30
|
+
Classifier: Topic :: Software Development
|
|
31
|
+
Classifier: Topic :: Software Development :: Libraries
|
|
32
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
33
|
+
Provides-Extra: bitsandbytes
|
|
34
|
+
Requires-Dist: bitsandbytes (>=0.44,<0.45) ; extra == "bitsandbytes"
|
|
35
|
+
Requires-Dist: numpy (<=1.24.4) ; python_version < "3.9"
|
|
36
|
+
Requires-Dist: numpy (>1.24.4) ; python_version >= "3.9"
|
|
37
|
+
Requires-Dist: torch (>=1.10) ; python_version >= "3.8"
|
|
38
|
+
Project-URL: Documentation, https://pytorch-optimizers.readthedocs.io/en/latest
|
|
39
|
+
Project-URL: Repository, https://github.com/kozistr/pytorch_optimizer
|
|
40
|
+
Description-Content-Type: text/markdown
|
|
41
|
+
|
|
1
42
|
# pytorch-optimizer
|
|
2
43
|
|
|
3
44
|
| | |
|
|
@@ -8,9 +49,13 @@
|
|
|
8
49
|
| Status | [](https://pepy.tech/project/pytorch-optimizer) [](https://pepy.tech/project/pytorch-optimizer) |
|
|
9
50
|
| License | [](https://opensource.org/licenses/Apache-2.0) |
|
|
10
51
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
Currently, **
|
|
52
|
+
## The reasons why you use `pytorch-optimizer`.
|
|
53
|
+
|
|
54
|
+
1. Wide range of supported optimizers. Currently, **83 optimizers (+ `bitsandbytes`, `qgalore`, `torchao`)**, **16 lr schedulers**, and **13 loss functions** are supported!
|
|
55
|
+
2. Including many variants such as `Cautious`, `AdamD`, `Gradient Centrailiaztion`
|
|
56
|
+
3. Easy to use, clean, and tested codes
|
|
57
|
+
4. Active maintenance
|
|
58
|
+
5. Somewhat a bit more optimized compared to the original implementation
|
|
14
59
|
|
|
15
60
|
Highly inspired by [pytorch-optimizer](https://github.com/jettify/pytorch-optimizer).
|
|
16
61
|
|
|
@@ -49,10 +94,7 @@ optimizer = load_optimizer(optimizer='adamp')(model.parameters())
|
|
|
49
94
|
|
|
50
95
|
# if you install `bitsandbytes` optimizer, you can use `8-bit` optimizers from `pytorch-optimizer`.
|
|
51
96
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
opt = load_optimizer(optimizer='bnb_adamw8bit')
|
|
55
|
-
optimizer = opt(model.parameters())
|
|
97
|
+
optimizer = load_optimizer(optimizer='bnb_adamw8bit')(model.parameters())
|
|
56
98
|
```
|
|
57
99
|
|
|
58
100
|
Also, you can load the optimizer via `torch.hub`.
|
|
@@ -61,6 +103,7 @@ Also, you can load the optimizer via `torch.hub`.
|
|
|
61
103
|
import torch
|
|
62
104
|
|
|
63
105
|
model = YourModel()
|
|
106
|
+
|
|
64
107
|
opt = torch.hub.load('kozistr/pytorch_optimizer', 'adamp')
|
|
65
108
|
optimizer = opt(model.parameters())
|
|
66
109
|
```
|
|
@@ -93,94 +136,103 @@ supported_optimizers = get_supported_optimizers()
|
|
|
93
136
|
or you can also search them with the filter(s).
|
|
94
137
|
|
|
95
138
|
```python
|
|
96
|
-
|
|
97
|
-
|
|
139
|
+
from pytorch_optimizer import get_supported_optimizers
|
|
140
|
+
|
|
141
|
+
get_supported_optimizers('adam*')
|
|
142
|
+
# ['adamax', 'adamg', 'adammini', 'adamod', 'adamp', 'adams', 'adamw']
|
|
98
143
|
|
|
99
|
-
|
|
100
|
-
['adamax', 'adamg', 'adammini', 'adamod', 'adamp', 'adams', 'adamw', 'ranger', 'ranger21']
|
|
144
|
+
get_supported_optimizers(['adam*', 'ranger*'])
|
|
145
|
+
# ['adamax', 'adamg', 'adammini', 'adamod', 'adamp', 'adams', 'adamw', 'ranger', 'ranger21']
|
|
101
146
|
```
|
|
102
147
|
|
|
103
|
-
| Optimizer | Description | Official Code | Paper
|
|
104
|
-
|
|
105
|
-
| AdaBelief | *Adapting Step-sizes by the Belief in Observed Gradients* | [github](https://github.com/juntang-zhuang/Adabelief-Optimizer) | <https://arxiv.org/abs/2010.07468>
|
|
106
|
-
| AdaBound | *Adaptive Gradient Methods with Dynamic Bound of Learning Rate* | [github](https://github.com/Luolc/AdaBound/blob/master/adabound/adabound.py) | <https://openreview.net/forum?id=Bkg3g2R9FX>
|
|
107
|
-
| AdaHessian | *An Adaptive Second Order Optimizer for Machine Learning* | [github](https://github.com/amirgholami/adahessian) | <https://arxiv.org/abs/2006.00719>
|
|
108
|
-
| AdamD | *Improved bias-correction in Adam* | | <https://arxiv.org/abs/2110.10828>
|
|
109
|
-
| AdamP | *Slowing Down the Slowdown for Momentum Optimizers on Scale-invariant Weights* | [github](https://github.com/clovaai/AdamP) | <https://arxiv.org/abs/2006.08217>
|
|
110
|
-
| diffGrad | *An Optimization Method for Convolutional Neural Networks* | [github](https://github.com/shivram1987/diffGrad) | <https://arxiv.org/abs/1909.11015v3>
|
|
111
|
-
| MADGRAD | *A Momentumized, Adaptive, Dual Averaged Gradient Method for Stochastic* | [github](https://github.com/facebookresearch/madgrad) | <https://arxiv.org/abs/2101.11075>
|
|
112
|
-
| RAdam | *On the Variance of the Adaptive Learning Rate and Beyond* | [github](https://github.com/LiyuanLucasLiu/RAdam) | <https://arxiv.org/abs/1908.03265>
|
|
113
|
-
| Ranger | *a synergistic optimizer combining RAdam and LookAhead, and now GC in one optimizer* | [github](https://github.com/lessw2020/Ranger-Deep-Learning-Optimizer) | <https://bit.ly/3zyspC3>
|
|
114
|
-
| Ranger21 | *a synergistic deep learning optimizer* | [github](https://github.com/lessw2020/Ranger21) | <https://arxiv.org/abs/2106.13731>
|
|
115
|
-
| Lamb | *Large Batch Optimization for Deep Learning* | [github](https://github.com/cybertronai/pytorch-lamb) | <https://arxiv.org/abs/1904.00962>
|
|
116
|
-
| Shampoo | *Preconditioned Stochastic Tensor Optimization* | [github](https://github.com/moskomule/shampoo.pytorch) | <https://arxiv.org/abs/1802.09568>
|
|
117
|
-
| Nero | *Learning by Turning: Neural Architecture Aware Optimisation* | [github](https://github.com/jxbz/nero) | <https://arxiv.org/abs/2102.07227>
|
|
118
|
-
| Adan | *Adaptive Nesterov Momentum Algorithm for Faster Optimizing Deep Models* | [github](https://github.com/sail-sg/Adan) | <https://arxiv.org/abs/2208.06677>
|
|
119
|
-
| Adai | *Disentangling the Effects of Adaptive Learning Rate and Momentum* | [github](https://github.com/zeke-xie/adaptive-inertia-adai) | <https://arxiv.org/abs/2006.15815>
|
|
120
|
-
| SAM | *Sharpness-Aware Minimization* | [github](https://github.com/davda54/sam) | <https://arxiv.org/abs/2010.01412>
|
|
121
|
-
| ASAM | *Adaptive Sharpness-Aware Minimization* | [github](https://github.com/davda54/sam) | <https://arxiv.org/abs/2102.11600>
|
|
122
|
-
| GSAM | *Surrogate Gap Guided Sharpness-Aware Minimization* | [github](https://github.com/juntang-zhuang/GSAM) | <https://openreview.net/pdf?id=edONMAnhLu->
|
|
123
|
-
| D-Adaptation | *Learning-Rate-Free Learning by D-Adaptation* | [github](https://github.com/facebookresearch/dadaptation) | <https://arxiv.org/abs/2301.07733>
|
|
124
|
-
| AdaFactor | *Adaptive Learning Rates with Sublinear Memory Cost* | [github](https://github.com/DeadAt0m/adafactor-pytorch) | <https://arxiv.org/abs/1804.04235>
|
|
125
|
-
| Apollo | *An Adaptive Parameter-wise Diagonal Quasi-Newton Method for Nonconvex Stochastic Optimization* | [github](https://github.com/XuezheMax/apollo) | <https://arxiv.org/abs/2009.13586>
|
|
126
|
-
| NovoGrad | *Stochastic Gradient Methods with Layer-wise Adaptive Moments for Training of Deep Networks* | [github](https://github.com/lonePatient/NovoGrad-pytorch) | <https://arxiv.org/abs/1905.11286>
|
|
127
|
-
| Lion | *Symbolic Discovery of Optimization Algorithms* | [github](https://github.com/google/automl/tree/master/lion) | <https://arxiv.org/abs/2302.06675>
|
|
128
|
-
| Ali-G | *Adaptive Learning Rates for Interpolation with Gradients* | [github](https://github.com/oval-group/ali-g) | <https://arxiv.org/abs/1906.05661>
|
|
129
|
-
| SM3 | *Memory-Efficient Adaptive Optimization* | [github](https://github.com/google-research/google-research/tree/master/sm3) | <https://arxiv.org/abs/1901.11150>
|
|
130
|
-
| AdaNorm | *Adaptive Gradient Norm Correction based Optimizer for CNNs* | [github](https://github.com/shivram1987/AdaNorm) | <https://arxiv.org/abs/2210.06364>
|
|
131
|
-
| RotoGrad | *Gradient Homogenization in Multitask Learning* | [github](https://github.com/adrianjav/rotograd) | <https://openreview.net/pdf?id=T8wHz4rnuGL>
|
|
132
|
-
| A2Grad | *Optimal Adaptive and Accelerated Stochastic Gradient Descent* | [github](https://github.com/severilov/A2Grad_optimizer) | <https://arxiv.org/abs/1810.00553>
|
|
133
|
-
| AccSGD | *Accelerating Stochastic Gradient Descent For Least Squares Regression* | [github](https://github.com/rahulkidambi/AccSGD) | <https://arxiv.org/abs/1704.08227>
|
|
134
|
-
| SGDW | *Decoupled Weight Decay Regularization* | [github](https://github.com/loshchil/AdamW-and-SGDW) | <https://arxiv.org/abs/1711.05101>
|
|
135
|
-
| ASGD | *Adaptive Gradient Descent without Descent* | [github](https://github.com/ymalitsky/adaptive_GD) | <https://arxiv.org/abs/1910.09529>
|
|
136
|
-
| Yogi | *Adaptive Methods for Nonconvex Optimization* | | [NIPS 2018](https://papers.nips.cc/paper/8186-adaptive-methods-for-nonconvex-optimization)
|
|
137
|
-
| SWATS | *Improving Generalization Performance by Switching from Adam to SGD* | | <https://arxiv.org/abs/1712.07628>
|
|
138
|
-
| Fromage | *On the distance between two neural networks and the stability of learning* | [github](https://github.com/jxbz/fromage) | <https://arxiv.org/abs/2002.03432>
|
|
139
|
-
| MSVAG | *Dissecting Adam: The Sign, Magnitude and Variance of Stochastic Gradients* | [github](https://github.com/lballes/msvag) | <https://arxiv.org/abs/1705.07774>
|
|
140
|
-
| AdaMod | *An Adaptive and Momental Bound Method for Stochastic Learning* | [github](https://github.com/lancopku/AdaMod) | <https://arxiv.org/abs/1910.12249>
|
|
141
|
-
| AggMo | *Aggregated Momentum: Stability Through Passive Damping* | [github](https://github.com/AtheMathmo/AggMo) | <https://arxiv.org/abs/1804.00325>
|
|
142
|
-
| QHAdam | *Quasi-hyperbolic momentum and Adam for deep learning* | [github](https://github.com/facebookresearch/qhoptim) | <https://arxiv.org/abs/1810.06801>
|
|
143
|
-
| PID | *A PID Controller Approach for Stochastic Optimization of Deep Networks* | [github](https://github.com/tensorboy/PIDOptimizer) | [CVPR 18](http://www4.comp.polyu.edu.hk/~cslzhang/paper/CVPR18_PID.pdf)
|
|
144
|
-
| Gravity | *a Kinematic Approach on Optimization in Deep Learning* | [github](https://github.com/dariush-bahrami/gravity.optimizer) | <https://arxiv.org/abs/2101.09192>
|
|
145
|
-
| AdaSmooth | *An Adaptive Learning Rate Method based on Effective Ratio* | | <https://arxiv.org/abs/2204.00825v1>
|
|
146
|
-
| SRMM | *Stochastic regularized majorization-minimization with weakly convex and multi-convex surrogates* | [github](https://github.com/HanbaekLyu/SRMM) | <https://arxiv.org/abs/2201.01652>
|
|
147
|
-
| AvaGrad | *Domain-independent Dominance of Adaptive Methods* | [github](https://github.com/lolemacs/avagrad) | <https://arxiv.org/abs/1912.01823>
|
|
148
|
-
| PCGrad | *Gradient Surgery for Multi-Task Learning* | [github](https://github.com/tianheyu927/PCGrad) | <https://arxiv.org/abs/2001.06782>
|
|
149
|
-
| AMSGrad | *On the Convergence of Adam and Beyond* | | <https://openreview.net/pdf?id=ryQu7f-RZ>
|
|
150
|
-
| Lookahead | *k steps forward, 1 step back* | [github](https://github.com/pytorch/examples/tree/main/imagenet) | <https://arxiv.org/abs/1907.08610>
|
|
151
|
-
| PNM | *Manipulating Stochastic Gradient Noise to Improve Generalization* | [github](https://github.com/zeke-xie/Positive-Negative-Momentum) | <https://arxiv.org/abs/2103.17182>
|
|
152
|
-
| GC | *Gradient Centralization* | [github](https://github.com/Yonghongwei/Gradient-Centralization) | <https://arxiv.org/abs/2004.01461>
|
|
153
|
-
| AGC | *Adaptive Gradient Clipping* | [github](https://github.com/deepmind/deepmind-research/tree/master/nfnets) | <https://arxiv.org/abs/2102.06171>
|
|
154
|
-
| Stable WD | *Understanding and Scheduling Weight Decay* | [github](https://github.com/zeke-xie/stable-weight-decay-regularization) | <https://arxiv.org/abs/2011.11152>
|
|
155
|
-
| Softplus T | *Calibrating the Adaptive Learning Rate to Improve Convergence of ADAM* | | <https://arxiv.org/abs/1908.00700>
|
|
156
|
-
| Un-tuned w/u | *On the adequacy of untuned warmup for adaptive optimization* | | <https://arxiv.org/abs/1910.04209>
|
|
157
|
-
| Norm Loss | *An efficient yet effective regularization method for deep neural networks* | | <https://arxiv.org/abs/2103.06583>
|
|
158
|
-
| AdaShift | *Decorrelation and Convergence of Adaptive Learning Rate Methods* | [github](https://github.com/MichaelKonobeev/adashift) | <https://arxiv.org/abs/1810.00143v4>
|
|
159
|
-
| AdaDelta | *An Adaptive Learning Rate Method* | | <https://arxiv.org/abs/1212.5701v1>
|
|
160
|
-
| Amos | *An Adam-style Optimizer with Adaptive Weight Decay towards Model-Oriented Scale* | [github](https://github.com/google-research/jestimator) | <https://arxiv.org/abs/2210.11693>
|
|
161
|
-
| SignSGD | *Compressed Optimisation for Non-Convex Problems* | [github](https://github.com/jxbz/signSGD) | <https://arxiv.org/abs/1802.04434>
|
|
162
|
-
| Sophia | *A Scalable Stochastic Second-order Optimizer for Language Model Pre-training* | [github](https://github.com/Liuhong99/Sophia) | <https://arxiv.org/abs/2305.14342>
|
|
163
|
-
| Prodigy | *An Expeditiously Adaptive Parameter-Free Learner* | [github](https://github.com/konstmish/prodigy) | <https://arxiv.org/abs/2306.06101>
|
|
164
|
-
| PAdam | *Closing the Generalization Gap of Adaptive Gradient Methods in Training Deep Neural Networks* | [github](https://github.com/uclaml/Padam) | <https://arxiv.org/abs/1806.06763>
|
|
165
|
-
| LOMO | *Full Parameter Fine-tuning for Large Language Models with Limited Resources* | [github](https://github.com/OpenLMLab/LOMO) | <https://arxiv.org/abs/2306.09782>
|
|
166
|
-
| AdaLOMO | *Low-memory Optimization with Adaptive Learning Rate* | [github](https://github.com/OpenLMLab/LOMO) | <https://arxiv.org/abs/2310.10195>
|
|
167
|
-
| Tiger | *A Tight-fisted Optimizer, an optimizer that is extremely budget-conscious* | [github](https://github.com/bojone/tiger) |
|
|
168
|
-
| CAME | *Confidence-guided Adaptive Memory Efficient Optimization* | [github](https://github.com/huawei-noah/Pretrained-Language-Model/tree/master/CAME) | <https://aclanthology.org/2023.acl-long.243/>
|
|
169
|
-
| WSAM | *Sharpness-Aware Minimization Revisited: Weighted Sharpness as a Regularization Term* | [github](https://github.com/intelligent-machine-learning/dlrover/blob/master/atorch/atorch/optimizers/wsam.py) | <https://arxiv.org/abs/2305.15817>
|
|
170
|
-
| Aida | *A DNN Optimizer that Improves over AdaBelief by Suppression of the Adaptive Stepsize Range* | [github](https://github.com/guoqiang-zhang-x/Aida-Optimizer) | <https://arxiv.org/abs/2203.13273>
|
|
171
|
-
| GaLore | *Memory-Efficient LLM Training by Gradient Low-Rank Projection* | [github](https://github.com/jiaweizzhao/GaLore) | <https://arxiv.org/abs/2403.03507>
|
|
172
|
-
| Adalite | *Adalite optimizer* | [github](https://github.com/VatsaDev/adalite) | <https://github.com/VatsaDev/adalite>
|
|
173
|
-
| bSAM | *SAM as an Optimal Relaxation of Bayes* | [github](https://github.com/team-approx-bayes/bayesian-sam) | <https://arxiv.org/abs/2210.01620>
|
|
174
|
-
| Schedule-Free | *Schedule-Free Optimizers* | [github](https://github.com/facebookresearch/schedule_free) | <https://github.com/facebookresearch/schedule_free>
|
|
175
|
-
| FAdam | *Adam is a natural gradient optimizer using diagonal empirical Fisher information* | [github](https://github.com/lessw2020/fadam_pytorch) | <https://arxiv.org/abs/2405.12807>
|
|
176
|
-
| Grokfast | *Accelerated Grokking by Amplifying Slow Gradients* | [github](https://github.com/ironjr/grokfast) | <https://arxiv.org/abs/2405.20233>
|
|
177
|
-
| Kate | *Remove that Square Root: A New Efficient Scale-Invariant Version of AdaGrad* | [github](https://github.com/nazya/KATE) | <https://arxiv.org/abs/2403.02648>
|
|
178
|
-
| StableAdamW | *Stable and low-precision training for large-scale vision-language models* | | <https://arxiv.org/abs/2304.13013>
|
|
179
|
-
| AdamMini | *Use Fewer Learning Rates To Gain More* | [github](https://github.com/zyushun/Adam-mini) | <https://arxiv.org/abs/2406.16793>
|
|
180
|
-
| TRAC | *Adaptive Parameter-free Optimization* | [github](https://github.com/ComputationalRobotics/TRAC) | <https://arxiv.org/abs/2405.16642>
|
|
181
|
-
| AdamG | *Towards Stability of Parameter-free Optimization* | | <https://arxiv.org/abs/2405.04376>
|
|
182
|
-
| AdEMAMix | *Better, Faster, Older* | [github](https://github.com/nanowell/AdEMAMix-Optimizer-Pytorch) | <https://arxiv.org/abs/2409.03137>
|
|
183
|
-
| SOAP | *Improving and Stabilizing Shampoo using Adam* | [github](https://github.com/nikhilvyas/SOAP) | <https://arxiv.org/abs/2409.11321>
|
|
148
|
+
| Optimizer | Description | Official Code | Paper | Citation |
|
|
149
|
+
|---------------|---------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------|
|
|
150
|
+
| AdaBelief | *Adapting Step-sizes by the Belief in Observed Gradients* | [github](https://github.com/juntang-zhuang/Adabelief-Optimizer) | <https://arxiv.org/abs/2010.07468> | [cite](https://ui.adsabs.harvard.edu/abs/2020arXiv201007468Z/exportcitation) |
|
|
151
|
+
| AdaBound | *Adaptive Gradient Methods with Dynamic Bound of Learning Rate* | [github](https://github.com/Luolc/AdaBound/blob/master/adabound/adabound.py) | <https://openreview.net/forum?id=Bkg3g2R9FX> | [cite](https://github.com/Luolc/AdaBound#citing) |
|
|
152
|
+
| AdaHessian | *An Adaptive Second Order Optimizer for Machine Learning* | [github](https://github.com/amirgholami/adahessian) | <https://arxiv.org/abs/2006.00719> | [cite](https://github.com/amirgholami/adahessian#citation) |
|
|
153
|
+
| AdamD | *Improved bias-correction in Adam* | | <https://arxiv.org/abs/2110.10828> | [cite](https://ui.adsabs.harvard.edu/abs/2021arXiv211010828S/exportcitation) |
|
|
154
|
+
| AdamP | *Slowing Down the Slowdown for Momentum Optimizers on Scale-invariant Weights* | [github](https://github.com/clovaai/AdamP) | <https://arxiv.org/abs/2006.08217> | [cite](https://github.com/clovaai/AdamP#how-to-cite) |
|
|
155
|
+
| diffGrad | *An Optimization Method for Convolutional Neural Networks* | [github](https://github.com/shivram1987/diffGrad) | <https://arxiv.org/abs/1909.11015v3> | [cite](https://ui.adsabs.harvard.edu/abs/2019arXiv190911015D/exportcitation) |
|
|
156
|
+
| MADGRAD | *A Momentumized, Adaptive, Dual Averaged Gradient Method for Stochastic* | [github](https://github.com/facebookresearch/madgrad) | <https://arxiv.org/abs/2101.11075> | [cite](https://github.com/facebookresearch/madgrad#tech-report) |
|
|
157
|
+
| RAdam | *On the Variance of the Adaptive Learning Rate and Beyond* | [github](https://github.com/LiyuanLucasLiu/RAdam) | <https://arxiv.org/abs/1908.03265> | [cite](https://github.com/LiyuanLucasLiu/RAdam#citation) |
|
|
158
|
+
| Ranger | *a synergistic optimizer combining RAdam and LookAhead, and now GC in one optimizer* | [github](https://github.com/lessw2020/Ranger-Deep-Learning-Optimizer) | <https://bit.ly/3zyspC3> | [cite](https://github.com/lessw2020/Ranger-Deep-Learning-Optimizer#citing-this-work) |
|
|
159
|
+
| Ranger21 | *a synergistic deep learning optimizer* | [github](https://github.com/lessw2020/Ranger21) | <https://arxiv.org/abs/2106.13731> | [cite](https://github.com/lessw2020/Ranger21#referencing-this-work) |
|
|
160
|
+
| Lamb | *Large Batch Optimization for Deep Learning* | [github](https://github.com/cybertronai/pytorch-lamb) | <https://arxiv.org/abs/1904.00962> | [cite](https://ui.adsabs.harvard.edu/abs/2019arXiv190400962Y/exportcitation) |
|
|
161
|
+
| Shampoo | *Preconditioned Stochastic Tensor Optimization* | [github](https://github.com/moskomule/shampoo.pytorch) | <https://arxiv.org/abs/1802.09568> | [cite](https://ui.adsabs.harvard.edu/abs/2018arXiv180209568G/exportcitation) |
|
|
162
|
+
| Nero | *Learning by Turning: Neural Architecture Aware Optimisation* | [github](https://github.com/jxbz/nero) | <https://arxiv.org/abs/2102.07227> | [cite](https://ui.adsabs.harvard.edu/abs/2021arXiv210207227L/exportcitation) |
|
|
163
|
+
| Adan | *Adaptive Nesterov Momentum Algorithm for Faster Optimizing Deep Models* | [github](https://github.com/sail-sg/Adan) | <https://arxiv.org/abs/2208.06677> | [cite](https://ui.adsabs.harvard.edu/abs/2022arXiv220806677X/exportcitation) |
|
|
164
|
+
| Adai | *Disentangling the Effects of Adaptive Learning Rate and Momentum* | [github](https://github.com/zeke-xie/adaptive-inertia-adai) | <https://arxiv.org/abs/2006.15815> | [cite](https://github.com/zeke-xie/adaptive-inertia-adai#citing) |
|
|
165
|
+
| SAM | *Sharpness-Aware Minimization* | [github](https://github.com/davda54/sam) | <https://arxiv.org/abs/2010.01412> | [cite](https://ui.adsabs.harvard.edu/abs/2020arXiv201001412F/exportcitation) |
|
|
166
|
+
| ASAM | *Adaptive Sharpness-Aware Minimization* | [github](https://github.com/davda54/sam) | <https://arxiv.org/abs/2102.11600> | [cite](https://ui.adsabs.harvard.edu/abs/2021arXiv210211600K/exportcitation) |
|
|
167
|
+
| GSAM | *Surrogate Gap Guided Sharpness-Aware Minimization* | [github](https://github.com/juntang-zhuang/GSAM) | <https://openreview.net/pdf?id=edONMAnhLu-> | [cite](https://github.com/juntang-zhuang/GSAM#citation) |
|
|
168
|
+
| D-Adaptation | *Learning-Rate-Free Learning by D-Adaptation* | [github](https://github.com/facebookresearch/dadaptation) | <https://arxiv.org/abs/2301.07733> | [cite](https://ui.adsabs.harvard.edu/abs/2023arXiv230107733D/exportcitation) |
|
|
169
|
+
| AdaFactor | *Adaptive Learning Rates with Sublinear Memory Cost* | [github](https://github.com/DeadAt0m/adafactor-pytorch) | <https://arxiv.org/abs/1804.04235> | [cite](https://ui.adsabs.harvard.edu/abs/2018arXiv180404235S/exportcitation) |
|
|
170
|
+
| Apollo | *An Adaptive Parameter-wise Diagonal Quasi-Newton Method for Nonconvex Stochastic Optimization* | [github](https://github.com/XuezheMax/apollo) | <https://arxiv.org/abs/2009.13586> | [cite](https://ui.adsabs.harvard.edu/abs/2020arXiv200913586M/exportcitation) |
|
|
171
|
+
| NovoGrad | *Stochastic Gradient Methods with Layer-wise Adaptive Moments for Training of Deep Networks* | [github](https://github.com/lonePatient/NovoGrad-pytorch) | <https://arxiv.org/abs/1905.11286> | [cite](https://ui.adsabs.harvard.edu/abs/2019arXiv190511286G/exportcitation) |
|
|
172
|
+
| Lion | *Symbolic Discovery of Optimization Algorithms* | [github](https://github.com/google/automl/tree/master/lion) | <https://arxiv.org/abs/2302.06675> | [cite](https://github.com/google/automl/tree/master/lion#citation) |
|
|
173
|
+
| Ali-G | *Adaptive Learning Rates for Interpolation with Gradients* | [github](https://github.com/oval-group/ali-g) | <https://arxiv.org/abs/1906.05661> | [cite](https://github.com/oval-group/ali-g#adaptive-learning-rates-for-interpolation-with-gradients) |
|
|
174
|
+
| SM3 | *Memory-Efficient Adaptive Optimization* | [github](https://github.com/google-research/google-research/tree/master/sm3) | <https://arxiv.org/abs/1901.11150> | [cite](https://ui.adsabs.harvard.edu/abs/2019arXiv190111150A/exportcitation) |
|
|
175
|
+
| AdaNorm | *Adaptive Gradient Norm Correction based Optimizer for CNNs* | [github](https://github.com/shivram1987/AdaNorm) | <https://arxiv.org/abs/2210.06364> | [cite](https://github.com/shivram1987/AdaNorm/tree/main#citation) |
|
|
176
|
+
| RotoGrad | *Gradient Homogenization in Multitask Learning* | [github](https://github.com/adrianjav/rotograd) | <https://openreview.net/pdf?id=T8wHz4rnuGL> | [cite](https://github.com/adrianjav/rotograd#citing) |
|
|
177
|
+
| A2Grad | *Optimal Adaptive and Accelerated Stochastic Gradient Descent* | [github](https://github.com/severilov/A2Grad_optimizer) | <https://arxiv.org/abs/1810.00553> | [cite](https://ui.adsabs.harvard.edu/abs/2018arXiv181000553D/exportcitation) |
|
|
178
|
+
| AccSGD | *Accelerating Stochastic Gradient Descent For Least Squares Regression* | [github](https://github.com/rahulkidambi/AccSGD) | <https://arxiv.org/abs/1704.08227> | [cite](https://github.com/rahulkidambi/AccSGD#citation) |
|
|
179
|
+
| SGDW | *Decoupled Weight Decay Regularization* | [github](https://github.com/loshchil/AdamW-and-SGDW) | <https://arxiv.org/abs/1711.05101> | [cite](https://github.com/loshchil/AdamW-and-SGDW#contact) |
|
|
180
|
+
| ASGD | *Adaptive Gradient Descent without Descent* | [github](https://github.com/ymalitsky/adaptive_GD) | <https://arxiv.org/abs/1910.09529> | [cite](https://github.com/ymalitsky/adaptive_GD#reference) |
|
|
181
|
+
| Yogi | *Adaptive Methods for Nonconvex Optimization* | | [NIPS 2018](https://papers.nips.cc/paper/8186-adaptive-methods-for-nonconvex-optimization) | [cite](https://proceedings.neurips.cc/paper_files/paper/2018/hash/90365351ccc7437a1309dc64e4db32a3-Abstract.html) |
|
|
182
|
+
| SWATS | *Improving Generalization Performance by Switching from Adam to SGD* | | <https://arxiv.org/abs/1712.07628> | [cite](https://ui.adsabs.harvard.edu/abs/2017arXiv171207628S/exportcitation) |
|
|
183
|
+
| Fromage | *On the distance between two neural networks and the stability of learning* | [github](https://github.com/jxbz/fromage) | <https://arxiv.org/abs/2002.03432> | [cite](https://github.com/jxbz/fromage#citation) |
|
|
184
|
+
| MSVAG | *Dissecting Adam: The Sign, Magnitude and Variance of Stochastic Gradients* | [github](https://github.com/lballes/msvag) | <https://arxiv.org/abs/1705.07774> | [cite](https://github.com/lballes/msvag#citation) |
|
|
185
|
+
| AdaMod | *An Adaptive and Momental Bound Method for Stochastic Learning* | [github](https://github.com/lancopku/AdaMod) | <https://arxiv.org/abs/1910.12249> | [cite](https://github.com/lancopku/AdaMod#citation) |
|
|
186
|
+
| AggMo | *Aggregated Momentum: Stability Through Passive Damping* | [github](https://github.com/AtheMathmo/AggMo) | <https://arxiv.org/abs/1804.00325> | [cite](https://ui.adsabs.harvard.edu/abs/2018arXiv180400325L/exportcitation) |
|
|
187
|
+
| QHAdam | *Quasi-hyperbolic momentum and Adam for deep learning* | [github](https://github.com/facebookresearch/qhoptim) | <https://arxiv.org/abs/1810.06801> | [cite](https://github.com/facebookresearch/qhoptim#reference) |
|
|
188
|
+
| PID | *A PID Controller Approach for Stochastic Optimization of Deep Networks* | [github](https://github.com/tensorboy/PIDOptimizer) | [CVPR 18](http://www4.comp.polyu.edu.hk/~cslzhang/paper/CVPR18_PID.pdf) | [cite](https://github.com/tensorboy/PIDOptimizer#citation) |
|
|
189
|
+
| Gravity | *a Kinematic Approach on Optimization in Deep Learning* | [github](https://github.com/dariush-bahrami/gravity.optimizer) | <https://arxiv.org/abs/2101.09192> | [cite](https://ui.adsabs.harvard.edu/abs/2021arXiv210109192B/exportcitation) |
|
|
190
|
+
| AdaSmooth | *An Adaptive Learning Rate Method based on Effective Ratio* | | <https://arxiv.org/abs/2204.00825v1> | [cite](https://ui.adsabs.harvard.edu/abs/2022arXiv220400825L/exportcitation) |
|
|
191
|
+
| SRMM | *Stochastic regularized majorization-minimization with weakly convex and multi-convex surrogates* | [github](https://github.com/HanbaekLyu/SRMM) | <https://arxiv.org/abs/2201.01652> | [cite](https://ui.adsabs.harvard.edu/abs/2022arXiv220101652L/exportcitation) |
|
|
192
|
+
| AvaGrad | *Domain-independent Dominance of Adaptive Methods* | [github](https://github.com/lolemacs/avagrad) | <https://arxiv.org/abs/1912.01823> | [cite](https://ui.adsabs.harvard.edu/abs/2019arXiv191201823S/exportcitation) |
|
|
193
|
+
| PCGrad | *Gradient Surgery for Multi-Task Learning* | [github](https://github.com/tianheyu927/PCGrad) | <https://arxiv.org/abs/2001.06782> | [cite](https://github.com/tianheyu927/PCGrad#reference) |
|
|
194
|
+
| AMSGrad | *On the Convergence of Adam and Beyond* | | <https://openreview.net/pdf?id=ryQu7f-RZ> | [cite](https://ui.adsabs.harvard.edu/abs/2019arXiv190409237R/exportcitation) |
|
|
195
|
+
| Lookahead | *k steps forward, 1 step back* | [github](https://github.com/pytorch/examples/tree/main/imagenet) | <https://arxiv.org/abs/1907.08610> | [cite](https://ui.adsabs.harvard.edu/abs/2019arXiv190708610Z/exportcitation) |
|
|
196
|
+
| PNM | *Manipulating Stochastic Gradient Noise to Improve Generalization* | [github](https://github.com/zeke-xie/Positive-Negative-Momentum) | <https://arxiv.org/abs/2103.17182> | [cite](https://github.com/zeke-xie/Positive-Negative-Momentum#citing) |
|
|
197
|
+
| GC | *Gradient Centralization* | [github](https://github.com/Yonghongwei/Gradient-Centralization) | <https://arxiv.org/abs/2004.01461> | [cite](https://github.com/Yonghongwei/Gradient-Centralization#citation) |
|
|
198
|
+
| AGC | *Adaptive Gradient Clipping* | [github](https://github.com/deepmind/deepmind-research/tree/master/nfnets) | <https://arxiv.org/abs/2102.06171> | [cite](https://ui.adsabs.harvard.edu/abs/2021arXiv210206171B/exportcitation) |
|
|
199
|
+
| Stable WD | *Understanding and Scheduling Weight Decay* | [github](https://github.com/zeke-xie/stable-weight-decay-regularization) | <https://arxiv.org/abs/2011.11152> | [cite](https://ui.adsabs.harvard.edu/abs/2020arXiv201111152X/exportcitation) |
|
|
200
|
+
| Softplus T | *Calibrating the Adaptive Learning Rate to Improve Convergence of ADAM* | | <https://arxiv.org/abs/1908.00700> | [cite](https://ui.adsabs.harvard.edu/abs/2019arXiv190800700T/exportcitation) |
|
|
201
|
+
| Un-tuned w/u | *On the adequacy of untuned warmup for adaptive optimization* | | <https://arxiv.org/abs/1910.04209> | [cite](https://ui.adsabs.harvard.edu/abs/2019arXiv191004209M/exportcitation) |
|
|
202
|
+
| Norm Loss | *An efficient yet effective regularization method for deep neural networks* | | <https://arxiv.org/abs/2103.06583> | [cite](https://ui.adsabs.harvard.edu/abs/2021arXiv210306583G/exportcitation) |
|
|
203
|
+
| AdaShift | *Decorrelation and Convergence of Adaptive Learning Rate Methods* | [github](https://github.com/MichaelKonobeev/adashift) | <https://arxiv.org/abs/1810.00143v4> | [cite](https://ui.adsabs.harvard.edu/abs/2018arXiv181000143Z/exportcitation) |
|
|
204
|
+
| AdaDelta | *An Adaptive Learning Rate Method* | | <https://arxiv.org/abs/1212.5701v1> | [cite](https://ui.adsabs.harvard.edu/abs/2012arXiv1212.5701Z/exportcitation) |
|
|
205
|
+
| Amos | *An Adam-style Optimizer with Adaptive Weight Decay towards Model-Oriented Scale* | [github](https://github.com/google-research/jestimator) | <https://arxiv.org/abs/2210.11693> | [cite](https://ui.adsabs.harvard.edu/abs/2022arXiv221011693T/exportcitation) |
|
|
206
|
+
| SignSGD | *Compressed Optimisation for Non-Convex Problems* | [github](https://github.com/jxbz/signSGD) | <https://arxiv.org/abs/1802.04434> | [cite](https://ui.adsabs.harvard.edu/abs/2018arXiv180204434B/exportcitation) |
|
|
207
|
+
| Sophia | *A Scalable Stochastic Second-order Optimizer for Language Model Pre-training* | [github](https://github.com/Liuhong99/Sophia) | <https://arxiv.org/abs/2305.14342> | [cite](https://github.com/Liuhong99/Sophia) |
|
|
208
|
+
| Prodigy | *An Expeditiously Adaptive Parameter-Free Learner* | [github](https://github.com/konstmish/prodigy) | <https://arxiv.org/abs/2306.06101> | [cite](https://github.com/konstmish/prodigy#how-to-cite) |
|
|
209
|
+
| PAdam | *Closing the Generalization Gap of Adaptive Gradient Methods in Training Deep Neural Networks* | [github](https://github.com/uclaml/Padam) | <https://arxiv.org/abs/1806.06763> | [cite](https://github.com/uclaml/Padam#citation) |
|
|
210
|
+
| LOMO | *Full Parameter Fine-tuning for Large Language Models with Limited Resources* | [github](https://github.com/OpenLMLab/LOMO) | <https://arxiv.org/abs/2306.09782> | [cite](https://github.com/OpenLMLab/LOMO#citation) |
|
|
211
|
+
| AdaLOMO | *Low-memory Optimization with Adaptive Learning Rate* | [github](https://github.com/OpenLMLab/LOMO) | <https://arxiv.org/abs/2310.10195> | [cite](https://github.com/OpenLMLab/LOMO#citation) |
|
|
212
|
+
| Tiger | *A Tight-fisted Optimizer, an optimizer that is extremely budget-conscious* | [github](https://github.com/bojone/tiger) | | [cite](https://github.com/bojone/tiger/blob/main/README_en.md#citation) |
|
|
213
|
+
| CAME | *Confidence-guided Adaptive Memory Efficient Optimization* | [github](https://github.com/huawei-noah/Pretrained-Language-Model/tree/master/CAME) | <https://aclanthology.org/2023.acl-long.243/> | [cite](https://github.com/huawei-noah/Pretrained-Language-Model/tree/master/CAME#citation) |
|
|
214
|
+
| WSAM | *Sharpness-Aware Minimization Revisited: Weighted Sharpness as a Regularization Term* | [github](https://github.com/intelligent-machine-learning/dlrover/blob/master/atorch/atorch/optimizers/wsam.py) | <https://arxiv.org/abs/2305.15817> | [cite](https://github.com/intelligent-machine-learning/dlrover) |
|
|
215
|
+
| Aida | *A DNN Optimizer that Improves over AdaBelief by Suppression of the Adaptive Stepsize Range* | [github](https://github.com/guoqiang-zhang-x/Aida-Optimizer) | <https://arxiv.org/abs/2203.13273> | [cite](https://github.com/guoqiang-zhang-x/Aida-Optimizer?tab=readme-ov-file#1-brief-description-of-aida) |
|
|
216
|
+
| GaLore | *Memory-Efficient LLM Training by Gradient Low-Rank Projection* | [github](https://github.com/jiaweizzhao/GaLore) | <https://arxiv.org/abs/2403.03507> | [cite](https://github.com/jiaweizzhao/GaLore/tree/master?tab=readme-ov-file#citation) |
|
|
217
|
+
| Adalite | *Adalite optimizer* | [github](https://github.com/VatsaDev/adalite) | <https://github.com/VatsaDev/adalite> | [cite](https://github.com/VatsaDev/adalite) |
|
|
218
|
+
| bSAM | *SAM as an Optimal Relaxation of Bayes* | [github](https://github.com/team-approx-bayes/bayesian-sam) | <https://arxiv.org/abs/2210.01620> | [cite](https://ui.adsabs.harvard.edu/abs/2022arXiv221001620M/exportcitation) |
|
|
219
|
+
| Schedule-Free | *Schedule-Free Optimizers* | [github](https://github.com/facebookresearch/schedule_free) | <https://github.com/facebookresearch/schedule_free> | [cite](https://github.com/facebookresearch/schedule_free) |
|
|
220
|
+
| FAdam | *Adam is a natural gradient optimizer using diagonal empirical Fisher information* | [github](https://github.com/lessw2020/fadam_pytorch) | <https://arxiv.org/abs/2405.12807> | [cite](https://ui.adsabs.harvard.edu/abs/2024arXiv240512807H/exportcitation) |
|
|
221
|
+
| Grokfast | *Accelerated Grokking by Amplifying Slow Gradients* | [github](https://github.com/ironjr/grokfast) | <https://arxiv.org/abs/2405.20233> | [cite](https://github.com/ironjr/grokfast?tab=readme-ov-file#citation) |
|
|
222
|
+
| Kate | *Remove that Square Root: A New Efficient Scale-Invariant Version of AdaGrad* | [github](https://github.com/nazya/KATE) | <https://arxiv.org/abs/2403.02648> | [cite](https://github.com/nazya/KATE?tab=readme-ov-file#remove-that-square-root-a-new-efficient-scale-invariant-version-of-adagrad) |
|
|
223
|
+
| StableAdamW | *Stable and low-precision training for large-scale vision-language models* | | <https://arxiv.org/abs/2304.13013> | [cite](https://ui.adsabs.harvard.edu/abs/2023arXiv230413013W/exportcitation) |
|
|
224
|
+
| AdamMini | *Use Fewer Learning Rates To Gain More* | [github](https://github.com/zyushun/Adam-mini) | <https://arxiv.org/abs/2406.16793> | [cite](https://github.com/zyushun/Adam-mini?tab=readme-ov-file#citation) |
|
|
225
|
+
| TRAC | *Adaptive Parameter-free Optimization* | [github](https://github.com/ComputationalRobotics/TRAC) | <https://arxiv.org/abs/2405.16642> | [cite](https://ui.adsabs.harvard.edu/abs/2024arXiv240516642M/exportcitation) |
|
|
226
|
+
| AdamG | *Towards Stability of Parameter-free Optimization* | | <https://arxiv.org/abs/2405.04376> | [cite](https://ui.adsabs.harvard.edu/abs/2024arXiv240504376P/exportcitation) |
|
|
227
|
+
| AdEMAMix | *Better, Faster, Older* | [github](https://github.com/nanowell/AdEMAMix-Optimizer-Pytorch) | <https://arxiv.org/abs/2409.03137> | [cite](https://github.com/nanowell/AdEMAMix-Optimizer-Pytorch?tab=readme-ov-file#reference) |
|
|
228
|
+
| SOAP | *Improving and Stabilizing Shampoo using Adam* | [github](https://github.com/nikhilvyas/SOAP) | <https://arxiv.org/abs/2409.11321> | [cite](https://ui.adsabs.harvard.edu/abs/2024arXiv240911321V/exportcitation) |
|
|
229
|
+
| ADOPT | *Modified Adam Can Converge with Any β2 with the Optimal Rate* | [github](https://github.com/iShohei220/adopt) | <https://arxiv.org/abs/2411.02853> | [cite](https://github.com/iShohei220/adopt?tab=readme-ov-file#citation) |
|
|
230
|
+
| FTRL | *Follow The Regularized Leader* | | <https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/41159.pdf> | |
|
|
231
|
+
| Cautious | *Improving Training with One Line of Code* | [github](https://github.com/kyleliang919/C-Optim) | <https://arxiv.org/pdf/2411.16085v1> | [cite](https://github.com/kyleliang919/C-Optim?tab=readme-ov-file#citation) |
|
|
232
|
+
| DeMo | *Decoupled Momentum Optimization* | [github](https://github.com/bloc97/DeMo) | <https://arxiv.org/abs/2411.19870> | [cite](https://ui.adsabs.harvard.edu/abs/2024arXiv241119870P/exportcitation) |
|
|
233
|
+
| MicroAdam | *Accurate Adaptive Optimization with Low Space Overhead and Provable Convergence* | [github](https://github.com/IST-DASLab/MicroAdam) | <https://arxiv.org/abs/2405.15593> | [cite](https://github.com/IST-DASLab/MicroAdam?tab=readme-ov-file#citing) |
|
|
234
|
+
| Muon | *MomentUm Orthogonalized by Newton-schulz* | [github](https://github.com/KellerJordan/Muon) | <https://x.com/kellerjordan0/status/1842300916864844014> | [cite](https://github.com/KellerJordan/Muon) |
|
|
235
|
+
| LaProp | *Separating Momentum and Adaptivity in Adam* | [github](https://github.com/Z-T-WANG/LaProp-Optimizer) | <https://arxiv.org/abs/2002.04839> | [cite](https://github.com/Z-T-WANG/LaProp-Optimizer?tab=readme-ov-file#citation) |
|
|
184
236
|
|
|
185
237
|
## Supported LR Scheduler
|
|
186
238
|
|
|
@@ -195,11 +247,13 @@ supported_lr_schedulers = get_supported_lr_schedulers()
|
|
|
195
247
|
or you can also search them with the filter(s).
|
|
196
248
|
|
|
197
249
|
```python
|
|
198
|
-
|
|
199
|
-
|
|
250
|
+
from pytorch_optimizer import get_supported_lr_schedulers
|
|
251
|
+
|
|
252
|
+
get_supported_lr_schedulers('cosine*')
|
|
253
|
+
# ['cosine', 'cosine_annealing', 'cosine_annealing_with_warm_restart', 'cosine_annealing_with_warmup']
|
|
200
254
|
|
|
201
|
-
|
|
202
|
-
['cosine', 'cosine_annealing', 'cosine_annealing_with_warm_restart', 'cosine_annealing_with_warmup', 'warmup_stable_decay']
|
|
255
|
+
get_supported_lr_schedulers(['cosine*', '*warm*'])
|
|
256
|
+
# ['cosine', 'cosine_annealing', 'cosine_annealing_with_warm_restart', 'cosine_annealing_with_warmup', 'warmup_stable_decay']
|
|
203
257
|
```
|
|
204
258
|
|
|
205
259
|
| LR Scheduler | Description | Official Code | Paper | Citation |
|
|
@@ -222,11 +276,13 @@ supported_loss_functions = get_supported_loss_functions()
|
|
|
222
276
|
or you can also search them with the filter(s).
|
|
223
277
|
|
|
224
278
|
```python
|
|
225
|
-
|
|
226
|
-
|
|
279
|
+
from pytorch_optimizer import get_supported_loss_functions
|
|
280
|
+
|
|
281
|
+
get_supported_loss_functions('*focal*')
|
|
282
|
+
# ['bcefocalloss', 'focalcosineloss', 'focalloss', 'focaltverskyloss']
|
|
227
283
|
|
|
228
|
-
|
|
229
|
-
['bcefocalloss', 'bceloss', 'focalcosineloss', 'focalloss', 'focaltverskyloss']
|
|
284
|
+
get_supported_loss_functions(['*focal*', 'bce*'])
|
|
285
|
+
# ['bcefocalloss', 'bceloss', 'focalcosineloss', 'focalloss', 'focaltverskyloss']
|
|
230
286
|
```
|
|
231
287
|
|
|
232
288
|
| Loss Functions | Description | Official Code | Paper | Citation |
|
|
@@ -348,6 +404,10 @@ With the default bias-correction, Adam may actually make larger than requested g
|
|
|
348
404
|
|
|
349
405
|
Correcting the norm of a gradient in each iteration based on the adaptive training history of gradient norm.
|
|
350
406
|
|
|
407
|
+
### Cautious optimizer
|
|
408
|
+
|
|
409
|
+
Updates only occur when the proposed update direction aligns with the current gradient.
|
|
410
|
+
|
|
351
411
|
## Frequently asked questions
|
|
352
412
|
|
|
353
413
|
[here](docs/qa.md)
|
|
@@ -373,3 +433,4 @@ If you use this software, please cite it below. Or you can get it from "cite thi
|
|
|
373
433
|
## Maintainer
|
|
374
434
|
|
|
375
435
|
Hyeongchan Kim / [@kozistr](http://kozistr.tech/about)
|
|
436
|
+
|