Skip to main content

AdamWClip: AdamW with adaptive gradient clipping

AdamWClip is an optimizer that extends AdamW with adaptive gradient clipping. It automatically adapts the gradient clipping thresholds to the gradient statistics of each parameter resulting in equivariant thresholds with respect to scaling the gradients. This makes finding suitable clipping thresholds much easier (usually, the default threshold of AdamWClip is good to go). Furthermore, by directly utilizing the internal state variables of Adam, AdamWClip doesn't require additional memory (and only a marginal computational overhead).

Useage

To use AdamWClip in your pytorch project, simply run the following:

%pip install AdamWClip
from AdamWClip import AdamWClip
...
optimizer = AdamWClip(model.parameters(),*args)

On top of the standard parameters from AdamW, AdamWClip offers the following additional parameters:

  • clip_grad_adapt: adaptive gradient clipping threshold in terms of standard deviations of the clipped gradient distribution. If set to None, this optimizer behaves exactly like AdamW (default: 3)
  • clip_grad_min: minimum value for the adaptive gradient clipping threshold (default: 1e-10)
  • clip_grad_warm_up: (Optional) number of initial update steps without gradient clipping to obtain more reasonable gradient statistics at the beginning (default: 0)

In most instances, the default values should be fine.

If this optimizer becomes useful to you, please consider citing this repository :)

Metadata

Release files for AdamWClip 0.1.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for AdamWClip 0.1.4
File Size Uploaded
adamwclip-0.1.4.tar.gz 3.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for AdamWClip 0.1.4
File Interpreter ABI Platform
adamwclip-0.1.4-py3-none-any.whl Python 3 none any Details

Total release size: 6.7 kB

Release files / adamwclip-0.1.4.tar.gz

Download URL adamwclip-0.1.4.tar.gz
Size 3.2 kB
Tags Source
SHA-256 checksum
How to use checksums
9e63a00f814d616af08340ebda6d923f983e0bb0e9d5455f1d9ccd9384e7ace6
BLAKE2b-256 checksum
How to use checksums
56a31db8bfd0a80d2561f9eee10a9bf8d5a8fadfd456b9073baafda16300ab72
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.7

Release files / adamwclip-0.1.4-py3-none-any.whl

Download URL adamwclip-0.1.4-py3-none-any.whl
Size 3.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3241d13c21fce928d4154f604e07ba35513b8a096854cf66248eed2fe2ec6b9a
BLAKE2b-256 checksum
How to use checksums
ce0ed9f36521007fe92a213af586bddc1deed9013996572638b3dedee6ca8add
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.7

Release history Release notifications | RSS feed

This release

0.1.4 This release

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page