Skip to main content

AdamWClip is an optimizer that extends AdamW with adaptive gradient clipping.

Project description

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 :)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

adamwclip-0.1.4.tar.gz (3.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

adamwclip-0.1.4-py3-none-any.whl (3.5 kB view details)

Uploaded Python 3

File details

Details for the file adamwclip-0.1.4.tar.gz.

File metadata

  • Download URL: adamwclip-0.1.4.tar.gz
  • Upload date:
  • Size: 3.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.7

File hashes

Hashes for adamwclip-0.1.4.tar.gz
Algorithm Hash digest
SHA256 9e63a00f814d616af08340ebda6d923f983e0bb0e9d5455f1d9ccd9384e7ace6
MD5 f39c113a53866a475e28da7234235d1d
BLAKE2b-256 56a31db8bfd0a80d2561f9eee10a9bf8d5a8fadfd456b9073baafda16300ab72

See more details on using hashes here.

File details

Details for the file adamwclip-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: adamwclip-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 3.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.7

File hashes

Hashes for adamwclip-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 3241d13c21fce928d4154f604e07ba35513b8a096854cf66248eed2fe2ec6b9a
MD5 aa1c36b3d338a970ebdbe5d472df2967
BLAKE2b-256 ce0ed9f36521007fe92a213af586bddc1deed9013996572638b3dedee6ca8add

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page