pytorch_optimizer 3.10.0__tar.gz → 3.11.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.
Files changed (465) hide show
  1. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/.github/labeler.yml +4 -1
  2. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/.github/pull_request_template.md +3 -3
  3. pytorch_optimizer-3.11.0/.github/workflows/ci.yml +134 -0
  4. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/.github/workflows/pr_automerge.yml +1 -1
  5. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/.github/workflows/pr_codeql.yml +3 -3
  6. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/.github/workflows/pr_labeler.yml +2 -2
  7. pytorch_optimizer-3.11.0/.github/workflows/publish.yml +214 -0
  8. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/.github/workflows/update_docs.yml +3 -3
  9. pytorch_optimizer-3.11.0/AGENTS.md +77 -0
  10. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/CHANGELOG.md +59 -0
  11. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/CONTRIBUTING.md +46 -14
  12. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/PKG-INFO +11 -4
  13. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/README.md +6 -0
  14. pytorch_optimizer-3.11.0/docs/.readthedocs.yaml +11 -0
  15. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/base.md +1 -1
  16. pytorch_optimizer-3.11.0/docs/changelogs/index.md +41 -0
  17. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/changelogs/v2.10.0.md +5 -5
  18. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/changelogs/v2.10.1.md +1 -1
  19. pytorch_optimizer-3.11.0/docs/changelogs/v2.11.0.md +21 -0
  20. pytorch_optimizer-3.11.0/docs/changelogs/v2.11.1.md +16 -0
  21. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/changelogs/v2.11.2.md +2 -2
  22. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/changelogs/v2.7.0.md +18 -18
  23. pytorch_optimizer-3.11.0/docs/changelogs/v2.8.0.md +37 -0
  24. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/changelogs/v2.9.0.md +7 -7
  25. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/changelogs/v3.0.0.md +8 -8
  26. pytorch_optimizer-3.11.0/docs/changelogs/v3.0.1.md +21 -0
  27. pytorch_optimizer-3.11.0/docs/changelogs/v3.0.2.md +21 -0
  28. pytorch_optimizer-3.11.0/docs/changelogs/v3.10.0.md +37 -0
  29. pytorch_optimizer-3.11.0/docs/changelogs/v3.10.1.md +16 -0
  30. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/changelogs/v3.4.0.md +1 -1
  31. pytorch_optimizer-3.11.0/docs/getting-started.md +91 -0
  32. pytorch_optimizer-3.11.0/docs/index.md +41 -0
  33. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/javascripts/tables.js +1 -1
  34. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/optimizer.md +20 -0
  35. pytorch_optimizer-3.11.0/docs/qa.md +21 -0
  36. pytorch_optimizer-3.11.0/docs/requirements-docs.txt +2 -0
  37. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/util.md +1 -1
  38. pytorch_optimizer-3.11.0/justfile +34 -0
  39. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pyproject.toml +13 -9
  40. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/__init__.py +5 -0
  41. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/base/optimizer.py +37 -4
  42. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/loss/focal.py +12 -4
  43. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/__init__.py +17 -2
  44. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/a2grad.py +1 -1
  45. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/adabound.py +7 -2
  46. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/adai.py +0 -2
  47. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/adam_mini.py +20 -16
  48. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/adamw.py +33 -19
  49. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/adashift.py +1 -1
  50. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/adasmooth.py +1 -1
  51. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/ademamix.py +3 -4
  52. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/ano.py +2 -1
  53. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/apollo.py +3 -2
  54. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/dadapt.py +1 -1
  55. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/demo.py +2 -0
  56. pytorch_optimizer-3.11.0/pytorch_optimizer/optimizer/dual_adam.py +134 -0
  57. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/experimental/ranger25.py +0 -15
  58. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/fadam.py +10 -4
  59. pytorch_optimizer-3.11.0/pytorch_optimizer/optimizer/flash_adamw.py +423 -0
  60. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/ftrl.py +1 -1
  61. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/grokfast.py +3 -1
  62. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/lamb.py +17 -10
  63. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/laprop.py +3 -3
  64. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/lars.py +5 -3
  65. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/lomo.py +4 -0
  66. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/lookahead.py +27 -11
  67. pytorch_optimizer-3.11.0/pytorch_optimizer/optimizer/lora_rite.py +448 -0
  68. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/madgrad.py +1 -1
  69. pytorch_optimizer-3.11.0/pytorch_optimizer/optimizer/magma.py +239 -0
  70. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/mars.py +7 -2
  71. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/msvag.py +3 -3
  72. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/novograd.py +17 -24
  73. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/orthograd.py +14 -15
  74. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/padam.py +2 -0
  75. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/pcgrad.py +5 -4
  76. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/pid.py +2 -1
  77. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/prodigy.py +0 -2
  78. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/psgd.py +2 -0
  79. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/racs.py +7 -1
  80. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/ranger21.py +17 -11
  81. pytorch_optimizer-3.11.0/pytorch_optimizer/optimizer/rose.py +172 -0
  82. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/sam.py +4 -4
  83. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/schedulefree.py +31 -5
  84. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/sgd.py +22 -2
  85. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/shampoo.py +1 -1
  86. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/tiger.py +1 -1
  87. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/trac.py +37 -1
  88. pytorch_optimizer-3.11.0/scripts/update_changelog.py +43 -0
  89. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/tests/conftest.py +16 -2
  90. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/tests/constants.py +126 -5
  91. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/tests/test_base.py +16 -0
  92. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/tests/test_create_optimizer.py +9 -6
  93. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/tests/test_gradients.py +28 -2
  94. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/tests/test_load_modules.py +1 -1
  95. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/tests/test_loss_functions.py +82 -5
  96. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/tests/test_optimizer_parameters.py +3 -3
  97. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/tests/test_optimizer_variants.py +31 -8
  98. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/tests/test_optimizers.py +393 -9
  99. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/tests/test_utils.py +1 -1
  100. pytorch_optimizer-3.11.0/tests/test_wrapper_optimizers.py +536 -0
  101. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/tests/utils.py +10 -7
  102. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/uv.lock +575 -777
  103. pytorch_optimizer-3.11.0/zensical.toml +80 -0
  104. pytorch_optimizer-3.10.0/.github/workflows/ci.yml +0 -100
  105. pytorch_optimizer-3.10.0/.github/workflows/copy_readme.yml +0 -25
  106. pytorch_optimizer-3.10.0/.github/workflows/publish.yml +0 -110
  107. pytorch_optimizer-3.10.0/CLAUDE.md +0 -136
  108. pytorch_optimizer-3.10.0/Makefile +0 -34
  109. pytorch_optimizer-3.10.0/docs/.nav.yml +0 -22
  110. pytorch_optimizer-3.10.0/docs/.readthedocs.yaml +0 -14
  111. pytorch_optimizer-3.10.0/docs/changelogs/v2.11.0.md +0 -21
  112. pytorch_optimizer-3.10.0/docs/changelogs/v2.11.1.md +0 -16
  113. pytorch_optimizer-3.10.0/docs/changelogs/v2.8.0.md +0 -37
  114. pytorch_optimizer-3.10.0/docs/changelogs/v3.0.1.md +0 -21
  115. pytorch_optimizer-3.10.0/docs/changelogs/v3.0.2.md +0 -21
  116. pytorch_optimizer-3.10.0/docs/changelogs/v3.10.0.md +0 -37
  117. pytorch_optimizer-3.10.0/docs/index.md +0 -362
  118. pytorch_optimizer-3.10.0/docs/qa.md +0 -13
  119. pytorch_optimizer-3.10.0/mkdocs.yml +0 -86
  120. pytorch_optimizer-3.10.0/requirements-docs.txt +0 -12
  121. pytorch_optimizer-3.10.0/tests/test_wrapper_optimizers.py +0 -276
  122. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/.gitattributes +0 -0
  123. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/.github/CODEOWNERS +0 -0
  124. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  125. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  126. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/.github/labels.yml +0 -0
  127. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/.gitignore +0 -0
  128. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/CITATION.cff +0 -0
  129. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/CODE_OF_CONDUCT.md +0 -0
  130. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/LICENSE +0 -0
  131. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/SECURITY.md +0 -0
  132. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/benchmark.md +0 -0
  133. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/changelogs/v2.12.0.md +0 -0
  134. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/changelogs/v2.9.1.md +0 -0
  135. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/changelogs/v3.1.0.md +0 -0
  136. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/changelogs/v3.1.1.md +0 -0
  137. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/changelogs/v3.1.2.md +0 -0
  138. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/changelogs/v3.2.0.md +0 -0
  139. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/changelogs/v3.3.0.md +0 -0
  140. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/changelogs/v3.3.1.md +0 -0
  141. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/changelogs/v3.3.2.md +0 -0
  142. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/changelogs/v3.3.3.md +0 -0
  143. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/changelogs/v3.3.4.md +0 -0
  144. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/changelogs/v3.4.1.md +0 -0
  145. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/changelogs/v3.4.2.md +0 -0
  146. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/changelogs/v3.5.0.md +0 -0
  147. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/changelogs/v3.5.1.md +0 -0
  148. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/changelogs/v3.6.0.md +0 -0
  149. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/changelogs/v3.6.1.md +0 -0
  150. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/changelogs/v3.7.0.md +0 -0
  151. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/changelogs/v3.7.1.md +0 -0
  152. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/changelogs/v3.8.0.md +0 -0
  153. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/changelogs/v3.8.1.md +0 -0
  154. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/changelogs/v3.8.2.md +0 -0
  155. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/changelogs/v3.9.0.md +0 -0
  156. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/loss.md +0 -0
  157. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/lr_scheduler.md +0 -0
  158. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualization.md +0 -0
  159. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_ADOPT.jpg +0 -0
  160. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_APOLLO.jpg +0 -0
  161. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_ASGD.jpg +0 -0
  162. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_AccSGD.jpg +0 -0
  163. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_AdEMAMix.jpg +0 -0
  164. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_AdaBelief.jpg +0 -0
  165. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_AdaBound.jpg +0 -0
  166. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_AdaDelta.jpg +0 -0
  167. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_AdaFactor.jpg +0 -0
  168. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_AdaGC.jpg +0 -0
  169. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_AdaHessian.jpg +0 -0
  170. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_AdaMax.jpg +0 -0
  171. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_AdaMod.jpg +0 -0
  172. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_AdaNorm.jpg +0 -0
  173. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_AdaPNM.jpg +0 -0
  174. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_AdaShift.jpg +0 -0
  175. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_AdaSmooth.jpg +0 -0
  176. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_AdaTAM.jpg +0 -0
  177. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_Adai.jpg +0 -0
  178. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_Adalite.jpg +0 -0
  179. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_Adam.jpg +0 -0
  180. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_AdamG.jpg +0 -0
  181. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_AdamMini.jpg +0 -0
  182. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_AdamP.jpg +0 -0
  183. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_AdamS.jpg +0 -0
  184. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_AdamW.jpg +0 -0
  185. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_Adan.jpg +0 -0
  186. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_AggMo.jpg +0 -0
  187. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_Aida.jpg +0 -0
  188. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_AliG.jpg +0 -0
  189. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_Amos.jpg +0 -0
  190. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_ApolloDQN.jpg +0 -0
  191. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_AvaGrad.jpg +0 -0
  192. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_BCOS.jpg +0 -0
  193. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_BSAM.jpg +0 -0
  194. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_CAME.jpg +0 -0
  195. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_DAdaptAdaGrad.jpg +0 -0
  196. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_DAdaptAdam.jpg +0 -0
  197. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_DAdaptAdan.jpg +0 -0
  198. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_DAdaptLion.jpg +0 -0
  199. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_DAdaptSGD.jpg +0 -0
  200. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_DiffGrad.jpg +0 -0
  201. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_EXAdam.jpg +0 -0
  202. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_EmoFact.jpg +0 -0
  203. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_EmoLynx.jpg +0 -0
  204. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_EmoNavi.jpg +0 -0
  205. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_FAdam.jpg +0 -0
  206. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_FOCUS.jpg +0 -0
  207. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_FTRL.jpg +0 -0
  208. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_Fira.jpg +0 -0
  209. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_Fromage.jpg +0 -0
  210. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_GaLore.jpg +0 -0
  211. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_Grams.jpg +0 -0
  212. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_Gravity.jpg +0 -0
  213. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_GrokFastAdamW.jpg +0 -0
  214. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_Kate.jpg +0 -0
  215. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_Kron.jpg +0 -0
  216. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_LARS.jpg +0 -0
  217. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_LaProp.jpg +0 -0
  218. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_Lamb.jpg +0 -0
  219. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_Lion.jpg +0 -0
  220. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_MADGRAD.jpg +0 -0
  221. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_MARS.jpg +0 -0
  222. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_MSVAG.jpg +0 -0
  223. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_NAdam.jpg +0 -0
  224. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_Nero.jpg +0 -0
  225. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_NovoGrad.jpg +0 -0
  226. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_PAdam.jpg +0 -0
  227. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_PID.jpg +0 -0
  228. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_PNM.jpg +0 -0
  229. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_Prodigy.jpg +0 -0
  230. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_QHAdam.jpg +0 -0
  231. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_QHM.jpg +0 -0
  232. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_RACS.jpg +0 -0
  233. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_RAdam.jpg +0 -0
  234. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_RMSprop.jpg +0 -0
  235. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_Ranger.jpg +0 -0
  236. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_Ranger21.jpg +0 -0
  237. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_Ranger25.jpg +0 -0
  238. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_SCION.jpg +0 -0
  239. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_SCIONLight.jpg +0 -0
  240. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_SGD.jpg +0 -0
  241. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_SGDP.jpg +0 -0
  242. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_SGDSaI.jpg +0 -0
  243. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_SGDW.jpg +0 -0
  244. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_SM3.jpg +0 -0
  245. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_SOAP.jpg +0 -0
  246. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_SPAM.jpg +0 -0
  247. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_SRMM.jpg +0 -0
  248. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_SWATS.jpg +0 -0
  249. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_ScalableShampoo.jpg +0 -0
  250. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_ScheduleFreeAdamW.jpg +0 -0
  251. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_ScheduleFreeRAdam.jpg +0 -0
  252. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_ScheduleFreeSGD.jpg +0 -0
  253. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_Shampoo.jpg +0 -0
  254. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_SignSGD.jpg +0 -0
  255. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_SimplifiedAdEMAMix.jpg +0 -0
  256. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_SophiaH.jpg +0 -0
  257. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_StableAdamW.jpg +0 -0
  258. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_StableSPAM.jpg +0 -0
  259. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_TAM.jpg +0 -0
  260. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_Tiger.jpg +0 -0
  261. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_VSGD.jpg +0 -0
  262. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rastrigin_Yogi.jpg +0 -0
  263. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_ADOPT.jpg +0 -0
  264. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_APOLLO.jpg +0 -0
  265. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_ASGD.jpg +0 -0
  266. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_AccSGD.jpg +0 -0
  267. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_AdEMAMix.jpg +0 -0
  268. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_AdaBelief.jpg +0 -0
  269. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_AdaBound.jpg +0 -0
  270. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_AdaDelta.jpg +0 -0
  271. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_AdaFactor.jpg +0 -0
  272. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_AdaGC.jpg +0 -0
  273. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_AdaHessian.jpg +0 -0
  274. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_AdaMax.jpg +0 -0
  275. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_AdaMod.jpg +0 -0
  276. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_AdaNorm.jpg +0 -0
  277. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_AdaPNM.jpg +0 -0
  278. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_AdaShift.jpg +0 -0
  279. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_AdaSmooth.jpg +0 -0
  280. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_AdaTAM.jpg +0 -0
  281. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_Adai.jpg +0 -0
  282. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_Adalite.jpg +0 -0
  283. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_Adam.jpg +0 -0
  284. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_AdamG.jpg +0 -0
  285. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_AdamMini.jpg +0 -0
  286. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_AdamP.jpg +0 -0
  287. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_AdamS.jpg +0 -0
  288. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_AdamW.jpg +0 -0
  289. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_Adan.jpg +0 -0
  290. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_AggMo.jpg +0 -0
  291. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_Aida.jpg +0 -0
  292. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_AliG.jpg +0 -0
  293. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_Amos.jpg +0 -0
  294. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_ApolloDQN.jpg +0 -0
  295. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_AvaGrad.jpg +0 -0
  296. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_BCOS.jpg +0 -0
  297. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_BSAM.jpg +0 -0
  298. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_CAME.jpg +0 -0
  299. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_DAdaptAdaGrad.jpg +0 -0
  300. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_DAdaptAdam.jpg +0 -0
  301. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_DAdaptAdan.jpg +0 -0
  302. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_DAdaptLion.jpg +0 -0
  303. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_DAdaptSGD.jpg +0 -0
  304. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_DiffGrad.jpg +0 -0
  305. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_EXAdam.jpg +0 -0
  306. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_EmoFact.jpg +0 -0
  307. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_EmoLynx.jpg +0 -0
  308. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_EmoNavi.jpg +0 -0
  309. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_FAdam.jpg +0 -0
  310. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_FOCUS.jpg +0 -0
  311. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_FTRL.jpg +0 -0
  312. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_Fira.jpg +0 -0
  313. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_Fromage.jpg +0 -0
  314. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_GaLore.jpg +0 -0
  315. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_Grams.jpg +0 -0
  316. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_Gravity.jpg +0 -0
  317. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_GrokFastAdamW.jpg +0 -0
  318. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_Kate.jpg +0 -0
  319. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_Kron.jpg +0 -0
  320. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_LARS.jpg +0 -0
  321. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_LaProp.jpg +0 -0
  322. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_Lamb.jpg +0 -0
  323. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_Lion.jpg +0 -0
  324. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_MADGRAD.jpg +0 -0
  325. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_MARS.jpg +0 -0
  326. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_MSVAG.jpg +0 -0
  327. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_NAdam.jpg +0 -0
  328. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_Nero.jpg +0 -0
  329. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_NovoGrad.jpg +0 -0
  330. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_PAdam.jpg +0 -0
  331. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_PID.jpg +0 -0
  332. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_PNM.jpg +0 -0
  333. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_Prodigy.jpg +0 -0
  334. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_QHAdam.jpg +0 -0
  335. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_QHM.jpg +0 -0
  336. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_RACS.jpg +0 -0
  337. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_RAdam.jpg +0 -0
  338. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_RMSprop.jpg +0 -0
  339. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_Ranger.jpg +0 -0
  340. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_Ranger21.jpg +0 -0
  341. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_Ranger25.jpg +0 -0
  342. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_SCION.jpg +0 -0
  343. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_SCIONLight.jpg +0 -0
  344. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_SGD.jpg +0 -0
  345. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_SGDP.jpg +0 -0
  346. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_SGDSaI.jpg +0 -0
  347. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_SGDW.jpg +0 -0
  348. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_SM3.jpg +0 -0
  349. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_SOAP.jpg +0 -0
  350. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_SPAM.jpg +0 -0
  351. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_SRMM.jpg +0 -0
  352. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_SWATS.jpg +0 -0
  353. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_ScalableShampoo.jpg +0 -0
  354. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_ScheduleFreeAdamW.jpg +0 -0
  355. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_ScheduleFreeRAdam.jpg +0 -0
  356. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_ScheduleFreeSGD.jpg +0 -0
  357. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_Shampoo.jpg +0 -0
  358. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_SignSGD.jpg +0 -0
  359. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_SimplifiedAdEMAMix.jpg +0 -0
  360. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_SophiaH.jpg +0 -0
  361. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_StableAdamW.jpg +0 -0
  362. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_StableSPAM.jpg +0 -0
  363. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_TAM.jpg +0 -0
  364. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_Tiger.jpg +0 -0
  365. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_VSGD.jpg +0 -0
  366. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/docs/visualizations/rosenbrock_Yogi.jpg +0 -0
  367. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/examples/__init__.py +0 -0
  368. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/examples/benchmark_foreach.py +0 -0
  369. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/examples/huggingface_trainer_example.py +0 -0
  370. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/examples/pytorch_lightning_example.py +0 -0
  371. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/examples/pytorch_lightning_manual_backward_example.py +0 -0
  372. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/examples/visualize_optimizers.py +0 -0
  373. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/hubconf.py +0 -0
  374. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/base/__init__.py +0 -0
  375. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/base/exception.py +0 -0
  376. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/base/scheduler.py +0 -0
  377. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/base/type.py +0 -0
  378. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/loss/__init__.py +0 -0
  379. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/loss/bi_tempered.py +0 -0
  380. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/loss/cross_entropy.py +0 -0
  381. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/loss/dice.py +0 -0
  382. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/loss/f1.py +0 -0
  383. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/loss/jaccard.py +0 -0
  384. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/loss/ldam.py +0 -0
  385. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/loss/lovasz.py +0 -0
  386. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/loss/tversky.py +0 -0
  387. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/lr_scheduler/__init__.py +0 -0
  388. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/lr_scheduler/chebyshev.py +0 -0
  389. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/lr_scheduler/cosine_anealing.py +0 -0
  390. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/lr_scheduler/experimental/__init__.py +0 -0
  391. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/lr_scheduler/experimental/deberta_v3_lr_scheduler.py +0 -0
  392. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/lr_scheduler/linear_warmup.py +0 -0
  393. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/lr_scheduler/proportion.py +0 -0
  394. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/lr_scheduler/rex.py +0 -0
  395. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/lr_scheduler/wsd.py +0 -0
  396. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/adabelief.py +0 -0
  397. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/adadelta.py +0 -0
  398. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/adafactor.py +0 -0
  399. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/adagc.py +0 -0
  400. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/adahessian.py +0 -0
  401. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/adalite.py +0 -0
  402. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/adamax.py +0 -0
  403. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/adamc.py +0 -0
  404. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/adamg.py +0 -0
  405. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/adamod.py +0 -0
  406. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/adamp.py +0 -0
  407. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/adams.py +0 -0
  408. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/adan.py +0 -0
  409. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/adanorm.py +0 -0
  410. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/adapnm.py +0 -0
  411. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/adopt.py +0 -0
  412. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/agc.py +0 -0
  413. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/aggmo.py +0 -0
  414. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/aida.py +0 -0
  415. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/alig.py +0 -0
  416. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/amos.py +0 -0
  417. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/avagrad.py +0 -0
  418. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/bcos.py +0 -0
  419. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/came.py +0 -0
  420. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/conda.py +0 -0
  421. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/diffgrad.py +0 -0
  422. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/emonavi.py +0 -0
  423. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/exadam.py +0 -0
  424. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/experimental/__init__.py +0 -0
  425. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/fira.py +0 -0
  426. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/focus.py +0 -0
  427. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/foreach_utils.py +0 -0
  428. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/fp16.py +0 -0
  429. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/fromage.py +0 -0
  430. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/galore.py +0 -0
  431. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/galore_utils.py +0 -0
  432. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/gradient_centralization.py +0 -0
  433. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/grams.py +0 -0
  434. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/gravity.py +0 -0
  435. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/kate.py +0 -0
  436. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/lion.py +0 -0
  437. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/muon.py +0 -0
  438. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/nero.py +0 -0
  439. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/pnm.py +0 -0
  440. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/psgd_utils.py +0 -0
  441. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/qhadam.py +0 -0
  442. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/qhm.py +0 -0
  443. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/radam.py +0 -0
  444. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/ranger.py +0 -0
  445. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/rotograd.py +0 -0
  446. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/scion.py +0 -0
  447. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/shampoo_utils.py +0 -0
  448. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/sm3.py +0 -0
  449. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/snsm.py +0 -0
  450. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/soap.py +0 -0
  451. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/sophia.py +0 -0
  452. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/spam.py +0 -0
  453. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/splus.py +0 -0
  454. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/srmm.py +0 -0
  455. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/sso.py +0 -0
  456. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/swats.py +0 -0
  457. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/tam.py +0 -0
  458. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/utils.py +0 -0
  459. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/optimizer/yogi.py +0 -0
  460. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/pytorch_optimizer/py.typed +0 -0
  461. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/scripts/update_docs.py +0 -0
  462. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/tests/__init__.py +0 -0
  463. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/tests/test_foreach_utils.py +0 -0
  464. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/tests/test_general_optimizer_parameters.py +0 -0
  465. {pytorch_optimizer-3.10.0 → pytorch_optimizer-3.11.0}/tests/test_lr_schedulers.py +0 -0
@@ -2,6 +2,8 @@ documentation:
2
2
  - changed-files:
3
3
  - any-glob-to-any-file:
4
4
  - '**/*.md'
5
+ - zensical.toml
6
+ - docs/**
5
7
 
6
8
  github_actions:
7
9
  - changed-files:
@@ -14,7 +16,8 @@ dependencies:
14
16
  - pyproject.toml
15
17
  - requirements.txt
16
18
  - requirements-dev.txt
17
- - requirements-docs.txt
19
+ - docs/requirements-docs.txt
20
+ - uv.lock
18
21
 
19
22
  optimizer:
20
23
  - changed-files:
@@ -16,7 +16,7 @@ _Please note any questions, helps or contexts what maintainer(s) should know_
16
16
 
17
17
  ## Checklist
18
18
 
19
- - [ ] Make sure to run `make format` before commit
20
- - [ ] My code adheres to the style guidelines of this project (`make check` shows no errors)
21
- - [ ] Both new and existing unit tests pass successfully on my local environment by running `make test`
19
+ - [ ] Make sure to run `just format` before commit
20
+ - [ ] My code adheres to the style guidelines of this project (`just check` shows no errors)
21
+ - [ ] Both new and existing unit tests pass successfully on my local environment by running `just test`
22
22
  - [ ] I have made the necessary changes to the documentation
@@ -0,0 +1,134 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [ main ]
6
+ pull_request:
7
+ branches: [ main ]
8
+ workflow_call:
9
+ inputs:
10
+ ref:
11
+ description: Commit to validate
12
+ type: string
13
+ required: false
14
+ default: ''
15
+ skip_coverage_upload:
16
+ description: Skip coverage uploads during release validation
17
+ type: boolean
18
+ required: false
19
+ default: false
20
+
21
+ env:
22
+ OMP_NUM_THREADS: 8
23
+ MKL_NUM_THREADS: 8
24
+ PYTHONDONTWRITEBYTECODE: 1
25
+
26
+ jobs:
27
+ lint:
28
+ name: Lint
29
+ runs-on: ubuntu-latest
30
+ steps:
31
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
32
+ with:
33
+ ref: ${{ inputs.ref || github.sha }}
34
+
35
+ - name: Setup uv
36
+ uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7 # v10.2.0
37
+ with:
38
+ python-version: 3.12
39
+ enable-cache: true
40
+ prune-cache: false
41
+
42
+ - name: Install dependencies
43
+ run: uv sync --frozen --no-editable
44
+
45
+ - name: Run lint
46
+ run: |
47
+ uv run ruff check pytorch_optimizer examples tests scripts hubconf.py
48
+
49
+ type_check:
50
+ name: Static Type Check
51
+ runs-on: ubuntu-latest
52
+ steps:
53
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
54
+ with:
55
+ ref: ${{ inputs.ref || github.sha }}
56
+
57
+ - name: Setup uv
58
+ uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7 # v10.2.0
59
+ with:
60
+ python-version: 3.12
61
+ enable-cache: true
62
+ prune-cache: false
63
+
64
+ - name: Install dependencies
65
+ run: uv sync --frozen --no-editable
66
+
67
+ - uses: jakebailey/pyright-action@8ec14b5cfe41f26e5f41686a31eb6012758217ef # v3.0.2
68
+ with:
69
+ version: 1.1.414
70
+
71
+ docs:
72
+ name: Documentation
73
+ runs-on: ubuntu-latest
74
+ steps:
75
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
76
+ with:
77
+ ref: ${{ inputs.ref || github.sha }}
78
+
79
+ - name: Setup uv
80
+ uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7 # v10.2.0
81
+ with:
82
+ python-version: 3.12
83
+ enable-cache: true
84
+
85
+ - name: Build documentation
86
+ run: uv run --no-project --python 3.12 --with-requirements docs/requirements-docs.txt zensical build --strict
87
+
88
+ test:
89
+ runs-on: ubuntu-latest
90
+ strategy:
91
+ matrix:
92
+ python-version: ['3.8', '3.9', '3.10', '3.11', '3.12', '3.13', '3.14', '3.15']
93
+
94
+ steps:
95
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
96
+ with:
97
+ ref: ${{ inputs.ref || github.sha }}
98
+
99
+ - name: Setup uv
100
+ uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7 # v10.2.0
101
+ with:
102
+ python-version: ${{ matrix.python-version }}
103
+ enable-cache: true
104
+ prune-cache: false
105
+
106
+ - name: Install dependencies
107
+ run: uv sync --frozen --no-editable
108
+
109
+ - name: Check test
110
+ run: uv run --frozen pytest
111
+
112
+ - name: Upload coverage
113
+ if: success() && !inputs.skip_coverage_upload
114
+ uses: codecov/codecov-action@303a32d7a59b442fa8d48b6a1cc6825c09c847a5 # v7.1.1
115
+ with:
116
+ token: ${{ secrets.CODECOV_TOKEN }}
117
+ directory: ./
118
+ files: ./coverage.xml
119
+ env_vars: OS,PYTHON
120
+ flags: ${{ matrix.python-version }}
121
+ fail_ci_if_error: true
122
+ verbose: false
123
+
124
+ ci-summary:
125
+ if: always()
126
+ needs: [lint, type_check, docs, test]
127
+ runs-on: ubuntu-latest
128
+ steps:
129
+ - name: Check results
130
+ if: contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled')
131
+ run: exit 1
132
+
133
+ - name: Report Summary
134
+ run: echo "✅ Lint, documentation, and tests completed for all targets"
@@ -21,7 +21,7 @@ jobs:
21
21
  - id: automerge
22
22
  if: ${{ contains(github.event.pull_request.labels.*.name, 'automerge') }}
23
23
  name: automerge
24
- uses: pascalgn/automerge-action@v0.16.4
24
+ uses: pascalgn/automerge-action@7961b8b5eec56cc088c140b56d864285eabd3f67 # v0.16.4
25
25
  env:
26
26
  MERGE_LABELS: "automerge"
27
27
  MERGE_METHOD_LABEL_REQUIRED: "false"
@@ -35,14 +35,14 @@ jobs:
35
35
 
36
36
  steps:
37
37
  - name: Checkout repository
38
- uses: actions/checkout@v5
38
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
39
39
 
40
40
  - name: Initialize CodeQL
41
- uses: github/codeql-action/init@v4
41
+ uses: github/codeql-action/init@2892aa5e19bbd11bc0cff5427e3b750a04d9e3c2 # v4.38.2
42
42
  with:
43
43
  languages: ${{ matrix.language }}
44
44
 
45
45
  - name: Perform CodeQL Analysis
46
- uses: github/codeql-action/analyze@v4
46
+ uses: github/codeql-action/analyze@2892aa5e19bbd11bc0cff5427e3b750a04d9e3c2 # v4.38.2
47
47
  with:
48
48
  category: "/language:${{matrix.language}}"
@@ -17,9 +17,9 @@ jobs:
17
17
  pull-requests: write
18
18
 
19
19
  steps:
20
- - uses: actions/checkout@v5
20
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
21
21
 
22
- - uses: actions/labeler@v5
22
+ - uses: actions/labeler@bf12e9b00b37c5c0ca2b87b79b2daf7891dbda13 # v7.0.0
23
23
  if: ${{ github.event.action != 'labeled' && github.event.action != 'unlabeled' && !contains(github.event.pull_request.labels.*.name, 'automerge') }}
24
24
  with:
25
25
  configuration-path: '.github/labeler.yml'
@@ -0,0 +1,214 @@
1
+ name: Release
2
+ run-name: Release / ${{ github.ref_name }}
3
+
4
+ on:
5
+ push:
6
+ tags:
7
+ - 'v[0-9]+.[0-9]+.[0-9]+'
8
+ workflow_dispatch:
9
+ inputs:
10
+ bump:
11
+ description: Version component to increment
12
+ required: true
13
+ type: choice
14
+ default: patch
15
+ options: [major, minor, patch]
16
+
17
+ permissions:
18
+ contents: read
19
+
20
+ concurrency:
21
+ group: publish
22
+ cancel-in-progress: false
23
+
24
+ jobs:
25
+ guard:
26
+ name: Guard Release Ref
27
+ runs-on: ubuntu-latest
28
+ steps:
29
+ - name: Require main for manual releases
30
+ run: |
31
+ if [[ "$GITHUB_EVENT_NAME" == 'workflow_dispatch' && "$GITHUB_REF" != 'refs/heads/main' ]]; then
32
+ echo "Run manual releases from main, not $GITHUB_REF" >&2
33
+ exit 1
34
+ fi
35
+
36
+ validate:
37
+ name: Validate
38
+ needs: guard
39
+ uses: ./.github/workflows/ci.yml
40
+ with:
41
+ ref: ${{ github.sha }}
42
+ skip_coverage_upload: true
43
+
44
+ prepare:
45
+ name: Prepare Version
46
+ needs: validate
47
+ runs-on: ubuntu-latest
48
+ permissions:
49
+ contents: write
50
+ outputs:
51
+ tag: ${{ steps.version.outputs.tag }}
52
+ ref: ${{ steps.commit.outputs.ref }}
53
+ steps:
54
+ - name: Checkout release ref
55
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
56
+ with:
57
+ ref: ${{ github.sha }}
58
+ fetch-depth: 0
59
+ token: ${{ secrets.GH_TOKEN }}
60
+
61
+ - name: Setup uv
62
+ uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7 # v10.2.0
63
+ with:
64
+ python-version: '3.12'
65
+
66
+ - name: Validate and bump package version
67
+ id: version
68
+ env:
69
+ BUMP: ${{ inputs.bump }}
70
+ run: |
71
+ uv lock --check
72
+ current="$(uv version --short)"
73
+ if [[ ! "$current" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
74
+ echo 'Package version must have the form MAJOR.MINOR.PATCH' >&2
75
+ exit 1
76
+ fi
77
+
78
+ if [[ "$GITHUB_EVENT_NAME" == 'workflow_dispatch' ]]; then
79
+ version="$(uv version --bump "$BUMP" --no-sync --short)"
80
+ tag="v$version"
81
+ else
82
+ tag="$GITHUB_REF_NAME"
83
+ if [[ "$tag" != "v$current" ]]; then
84
+ echo "Tag $tag does not match package version $current" >&2
85
+ exit 1
86
+ fi
87
+ fi
88
+ echo "tag=$tag" >> "$GITHUB_OUTPUT"
89
+
90
+ - name: Commit and push version bump
91
+ id: commit
92
+ env:
93
+ RELEASE_TAG: ${{ steps.version.outputs.tag }}
94
+ run: |
95
+ if [[ "$GITHUB_EVENT_NAME" == 'workflow_dispatch' ]]; then
96
+ if git rev-parse --verify --quiet "refs/tags/$RELEASE_TAG"; then
97
+ echo "Tag $RELEASE_TAG already exists" >&2
98
+ exit 1
99
+ fi
100
+ git config user.name 'github-actions[bot]'
101
+ git config user.email '41898282+github-actions[bot]@users.noreply.github.com'
102
+ git add pyproject.toml uv.lock
103
+ git commit -m "build: prepare version ${RELEASE_TAG#v} [skip ci]"
104
+ git push origin HEAD:main
105
+ fi
106
+ echo "ref=$(git rev-parse HEAD)" >> "$GITHUB_OUTPUT"
107
+
108
+ deploy:
109
+ name: Publish Package
110
+ needs: prepare
111
+ runs-on: ubuntu-latest
112
+ permissions:
113
+ contents: write
114
+ steps:
115
+ - name: Checkout release commit
116
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
117
+ with:
118
+ ref: ${{ needs.prepare.outputs.ref }}
119
+ fetch-depth: 0
120
+
121
+ - name: Setup uv
122
+ uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7 # v10.2.0
123
+ with:
124
+ python-version: '3.12'
125
+
126
+ - name: Build package
127
+ run: uv build
128
+
129
+ - name: Create and push release tag
130
+ if: github.event_name == 'workflow_dispatch'
131
+ env:
132
+ RELEASE_TAG: ${{ needs.prepare.outputs.tag }}
133
+ RELEASE_REF: ${{ needs.prepare.outputs.ref }}
134
+ run: |
135
+ if git rev-parse --verify --quiet "refs/tags/$RELEASE_TAG"; then
136
+ if [[ "$(git rev-list -n 1 "$RELEASE_TAG")" != "$RELEASE_REF" ]]; then
137
+ echo "Tag $RELEASE_TAG points to a different commit" >&2
138
+ exit 1
139
+ fi
140
+ else
141
+ git config user.name 'github-actions[bot]'
142
+ git config user.email '41898282+github-actions[bot]@users.noreply.github.com'
143
+ git tag -a "$RELEASE_TAG" -m "pytorch-optimizer $RELEASE_TAG"
144
+ git push origin "refs/tags/$RELEASE_TAG"
145
+ fi
146
+
147
+ - name: Publish package to PyPI
148
+ env:
149
+ UV_PUBLISH_TOKEN: ${{ secrets.PYPI_TOKEN }}
150
+ run: uv publish --check-url https://pypi.org/simple
151
+
152
+ release:
153
+ name: Create Release
154
+ runs-on: ubuntu-latest
155
+ needs: [prepare, deploy]
156
+ permissions:
157
+ contents: write
158
+ steps:
159
+ - name: Generate release notes and create release
160
+ uses: softprops/action-gh-release@efb35369e0ad2afab669f228072c1b0d510eae64 # v3.0.3
161
+ with:
162
+ generate_release_notes: true
163
+ draft: false
164
+ prerelease: false
165
+ name: pytorch-optimizer ${{ needs.prepare.outputs.tag }}
166
+ tag_name: ${{ needs.prepare.outputs.tag }}
167
+ target_commitish: ${{ needs.prepare.outputs.ref }}
168
+ token: ${{ secrets.GH_TOKEN }}
169
+
170
+ changelog:
171
+ name: Update Changelogs
172
+ runs-on: ubuntu-latest
173
+ needs: [prepare, release]
174
+ permissions:
175
+ contents: write
176
+ pull-requests: write
177
+ steps:
178
+ - name: Checkout main
179
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
180
+ with:
181
+ ref: main
182
+
183
+ - name: Set up Python
184
+ uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
185
+ with:
186
+ python-version: '3.12'
187
+
188
+ - name: Update changelogs from the published release
189
+ env:
190
+ GH_TOKEN: ${{ github.token }}
191
+ GH_REPO: ${{ github.repository }}
192
+ RELEASE_TAG: ${{ needs.prepare.outputs.tag }}
193
+ run: |
194
+ gh release view "$RELEASE_TAG" --json body --jq .body > "$RUNNER_TEMP/release-notes.md"
195
+ python scripts/update_changelog.py "$RELEASE_TAG" "$RUNNER_TEMP/release-notes.md"
196
+
197
+ - name: Create changelog pull request
198
+ uses: peter-evans/create-pull-request@5f6978faf089d4d20b00c7766989d076bb2fc7f1 # v8.1.1
199
+ with:
200
+ branch: docs/changelog-update-${{ needs.prepare.outputs.tag }}
201
+ commit-message: 'docs: update changelogs for ${{ needs.prepare.outputs.tag }}'
202
+ title: 'docs: update changelogs for ${{ needs.prepare.outputs.tag }}'
203
+ body: >-
204
+ Sync the generated release notes from
205
+ https://github.com/${{ github.repository }}/releases/tag/${{ needs.prepare.outputs.tag }}
206
+ into CHANGELOG.md and the documentation.
207
+ base: main
208
+ add-paths: |
209
+ CHANGELOG.md
210
+ docs/changelogs/${{ needs.prepare.outputs.tag }}.md
211
+ docs/changelogs/index.md
212
+ delete-branch: true
213
+ labels: automerge
214
+ token: ${{ secrets.GH_TOKEN }}
@@ -12,10 +12,10 @@ jobs:
12
12
  update-docs:
13
13
  runs-on: ubuntu-latest
14
14
  steps:
15
- - uses: actions/checkout@v5
15
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
16
16
 
17
17
  - name: Set up Python 3.12
18
- uses: actions/setup-python@v5
18
+ uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
19
19
  with:
20
20
  python-version: 3.12
21
21
 
@@ -23,7 +23,7 @@ jobs:
23
23
  run: python scripts/update_docs.py
24
24
 
25
25
  - name: Commit updated documentation
26
- uses: stefanzweifel/git-auto-commit-action@v6
26
+ uses: stefanzweifel/git-auto-commit-action@4a55954c782fc1ea30b9056cd3e7a2b40ca8887d # v7.2.0
27
27
  id: auto-commit-action
28
28
  with:
29
29
  commit_message: "docs: update documentation"
@@ -0,0 +1,77 @@
1
+ # Agent Instructions
2
+
3
+ ## Development workflow
4
+
5
+ - Use `uv` for dependency resolution and execution. Prefer `uv run just <recipe>` so tests use the versions in `uv.lock`.
6
+ - The repository `justfile` is cross-platform and works on Windows, macOS, and Linux/WSL.
7
+ - Run the relevant checks after changes:
8
+ - `uv run just format`
9
+ - `uv run just check`
10
+ - `uv run just test`
11
+ - New or changed implementation code should have 100% test coverage. Check it with `uv run coverage report -m`.
12
+ - If coverage drops, add focused tests using the existing patterns in `tests/constants.py` and `tests/test_*.py`.
13
+ - Run a focused test with `uv run pytest tests/test_optimizers.py::test_name -sv -vv`.
14
+ - Use `uv run just docs` to serve the Zensical documentation and `uv run just docs-build` to build it with strict validation.
15
+ - Run `uv run just update-docs` after changing public exports to regenerate the API reference.
16
+
17
+ ## Architecture
18
+
19
+ - `pytorch_optimizer/base/` contains `BaseOptimizer`, scheduler bases, shared types, and exceptions.
20
+ - `pytorch_optimizer/optimizer/` contains optimizers, wrappers, and shared gradient and update utilities.
21
+ - `pytorch_optimizer/lr_scheduler/` and `pytorch_optimizer/loss/` contain schedulers and loss functions.
22
+ - The public API exports components from `pytorch_optimizer/__init__.py`. Use `load_optimizer()` to load a class by name
23
+ and `create_optimizer()` to configure an optimizer with common options and wrappers.
24
+ - Optional integrations include `bitsandbytes`, `q-galore-torch`, and `torchao`.
25
+ - `tests/test_optimizers.py` uses recipes from `tests/constants.py` for training tests. Parameter validation, variants,
26
+ wrappers, losses, and schedulers have separate test modules. `tests/conftest.py` supplies the training data fixture.
27
+ - `zensical.toml` owns documentation navigation and theme settings. Keep the home page separate from `README.md`.
28
+
29
+ ## Code style
30
+
31
+ - Follow nearby repository code and tests before introducing new patterns.
32
+ - Add comments only when code is difficult to understand; avoid redundant, meaningless, or excessive comments.
33
+ - Use blank lines to separate logical steps and improve readability.
34
+ - Do not add introductory comments or docstrings to scripts.
35
+ - Use a maximum line length of 119 characters and single-quoted strings.
36
+ - Use the repository's existing typing style. Do not add `from __future__ import annotations` or `TYPE_CHECKING` imports unless the surrounding code requires them.
37
+ - Optimizers inherit from `BaseOptimizer`, implement `init_group()` and `step()`, and reuse its validation and update helpers where applicable.
38
+ - All optimizer implementations must follow the algorithms and update rules in their original papers.
39
+ - Follow Google-style docstrings. Reuse helpers such as `apply_weight_decay()`, `apply_cautious()`, `debias()`,
40
+ `validate_learning_rate()`, `validate_betas()`, and `validate_range()` before adding update or validation logic.
41
+ - Keep implementations focused; remove redundant compatibility layers and abstractions.
42
+
43
+ ## Adding an optimizer
44
+
45
+ - Add the implementation under `pytorch_optimizer/optimizer/`.
46
+ - Export it from the optimizer package and register it in `OPTIMIZER_LIST` so it is available through `OPTIMIZERS` and `load_optimizer()`.
47
+ - Add a training recipe to `tests/constants.py`; the parametrized tests in `tests/test_optimizers.py` will exercise it.
48
+ - Add focused tests for optimizer-specific behavior, state handling, validation, wrappers, and edge cases as needed.
49
+ - Update the relevant documentation and algorithm table in `README.md`.
50
+ - Write clear PR titles and descriptions; the release workflow generates notes from merged PRs and syncs them to
51
+ `CHANGELOG.md`, `docs/changelogs/<tag>.md`, and the changelog index through an automated PR.
52
+ - Register new loss functions and schedulers in their package exports and add them to the corresponding tests and README tables.
53
+ - Never edit the root `CHANGELOG.md`; it is maintained automatically.
54
+
55
+ ## Commits and pull requests
56
+
57
+ Every commit subject must start with one of these prefixes:
58
+
59
+ | Prefix | Use for |
60
+ | --- | --- |
61
+ | `feat:` | Add a feature or public API. |
62
+ | `fix:` | Correct a bug or unintended behavior. |
63
+ | `perf:` | Improve execution speed or resource use. |
64
+ | `style:` | Change code formatting without changing behavior. |
65
+ | `refactor:` | Restructure code without changing public behavior. |
66
+ | `docs:` | Add, revise, or reorganize documentation. |
67
+ | `chore:` | Maintain development tools, automation, or repository housekeeping. |
68
+ | `build:` | Change build, packaging, or dependency configuration. |
69
+ | `update:` | Refresh project content or metadata when no more specific prefix applies. |
70
+
71
+ Keep the text after the prefix imperative, concise, and specific to the committed change.
72
+ Do not use commit prefixes outside this list.
73
+
74
+ - Write concise, specific PR titles that describe the actual change. Use a title tag only when it adds useful context
75
+ and accurately matches the work; do not derive it mechanically from the commit prefix.
76
+ - Feature PR titles follow the existing format, such as `[Feature] Implement Magma optimizer`.
77
+ - Keep commits focused, verify the branch and working tree before pushing, and use `--force-with-lease` only when rewriting a pushed branch is necessary.
@@ -1,3 +1,62 @@
1
+ # v3.10.1
2
+
3
+ ## Change Log
4
+
5
+ ### Feature
6
+
7
+ * Implement `LoRARite` optimizer. (#498, #504)
8
+ * [LoRA Done RITE: Robust Invariant Transformation Equilibration for LoRA Optimization](https://arxiv.org/abs/2410.20625)
9
+ * Implement `FlashAdamW` optimizer. (#495, #503)
10
+ * [FlashOptim: Optimizers for Memory-Efficient Training](https://arxiv.org/abs/2602.23349)
11
+ * Implement `DualAdam` optimizer. (#496, #502)
12
+ * [Combining Adam and its Inverse Counterpart to Enhance Generalization of Deep Learning Optimizers](https://arxiv.org/abs/2603.07122)
13
+ * Implement `ROSE` optimizer. (#500, #501)
14
+ * [Stateless optimization through range-normalized gradient updates](https://github.com/MatthewK78)
15
+
16
+ ## Contributions
17
+
18
+ thanks to @mfazrinizar
19
+
20
+ # v3.10.0
21
+
22
+ ## Change Log
23
+
24
+ ### Feature
25
+
26
+ * Add support for `foreach`. (#287, #476, #477)
27
+ * More than 10 optimizers (e.g. AdaFactor, StableAdamW, Lion, AdaBelief, Amos, ...) now support `foreach`.
28
+ * In most cases, `foreach` improves training speed by 1.1x to 1.5x, with a moderate increase in memory usage.
29
+ * Like official `PyTorch` optimizers, the default value of `foreach` is `None`. When `foreach=None`, CUDA paths prefer the `foreach` implementation over the for-loop implementation.
30
+ * If you need the previous for-loop behavior, set `foreach=False` explicitly.
31
+ * Update the Emo-series optimizers. (#472, #478)
32
+ * Update `EmoNavi`, `EmoFact`, and `EmoLynx`.
33
+ * Begin deprecating `EmoNeco` and `EmoZeal` (they are being phased out).
34
+ * Implement `SpectralSphere` optimizer. (#483, #485)
35
+ * [Controlled LLM Training on Spectral Sphere](https://arxiv.org/abs/2601.08393)
36
+ * Support various coefficients for `zero_power_via_newton_schulz_5`. (#487)
37
+ * Add coefficient presets: `original`, `quintic`, `polar_express`, and `polar_express_safer`.
38
+ * Support custom coefficient schedules and expose `ns_coeffs` in `Muon`, `DistributedMuon`, `AdaMuon`, and `AdaGO`.
39
+
40
+ ### Refactor
41
+
42
+ * Rename and organize type aliases. (#488)
43
+
44
+ ### Fix
45
+
46
+ * Fix misbehavior in `AdaFactor` optimizer. (#477)
47
+ * Fix a potential `NaN` issue in `AdamP` optimizer. (#480, #481)
48
+ * Fix `Lookahead` wrapper compatibility with `accelerate` by normalizing `lookahead_state` serialization. (#484, #489)
49
+
50
+ ### Docs
51
+
52
+ * Convert the previous docstring style to Google style. (#487)
53
+ * Add `py.typed` to mark distributed typing information. (#487)
54
+ * rework the README.md. (#491, #492)
55
+
56
+ ### CI/CD
57
+
58
+ * Introduce `uv`. (#473)
59
+
1
60
  # v3.9.0
2
61
 
3
62
  ## Change Log