Skip to main content

A PyTorch Dataloader compatible batch size scheduler library.

Project description

bs_scheduler

A Batch Size Scheduler library compatible with PyTorch DataLoaders.


Documentation: API Reference.

Examples: TODO.

Why use a Batch Size Scheduler?

TODO: Cite papers and explain why.

Available Schedulers

Batch Size Schedulers

  1. LambdaBS - sets the batch size to the base batch size times a given lambda.
  2. MultiplicativeBS - sets the batch size to the current batch size times a given lambda.
  3. StepBS - multiplies the batch size with a given factor at a given number of steps.
  4. MultiStepBS - multiplies the batch size with a given factor each time a milestone is reached.
  5. ConstantBS - multiplies the batch size by a given factor once and decreases it again to its base value after a given number of steps.
  6. LinearBS - increases the batch size by a linearly changing multiplicative factor for a given number of steps.
  7. ExponentialBS - increases the batch size by a given $\gamma$ each step.
  8. PolynomialBS - increases the batch size using a polynomial function in a given number of steps.
  9. CosineAnnealingBS - increases the batch size to a maximum batch size and decreases it again following a cyclic cosine curve.
  10. IncreaseBSOnPlateau - increases the batch size each time a given metric has stopped improving for a given number of steps.
  11. CyclicBS - cycles the batch size between two boundaries with a constant frequency, while also scaling the distance between boundaries.
  12. CosineAnnealingBSWithWarmRestarts - increases the batch size to a maximum batch size following a cosine curve, then restarts while also scaling the number of iterations until the next restart.
  13. OneCycleBS - decreases the batch size to a minimum batch size then increases it to a given maximum batch size, following a linear or cosine annealing strategy.
  14. SequentialBS - calls a list of schedulers sequentially given a list of milestone points which reflect which scheduler should be called when.
  15. ChainedBSScheduler - chains a list of batch size schedulers and calls them together each step.

Quick Start

TODO.

Installation

Please install PyTorch first before installing this repository.

pip install bs-scheduler

Or from git:

pip install git+https://github.com/ancestor-mithril/bs_scheduler.git@master

Licensing

The library is licensed under the BSD-3-Clause license.

Citation: TODO.

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

bs_scheduler-0.4.1.tar.gz (25.6 kB view details)

Uploaded Source

Built Distribution

bs_scheduler-0.4.1-py3-none-any.whl (17.6 kB view details)

Uploaded Python 3

File details

Details for the file bs_scheduler-0.4.1.tar.gz.

File metadata

  • Download URL: bs_scheduler-0.4.1.tar.gz
  • Upload date:
  • Size: 25.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.9.19

File hashes

Hashes for bs_scheduler-0.4.1.tar.gz
Algorithm Hash digest
SHA256 a5daa39801d8ed35c3d4c1ed89f828bac336216c83d9be80be010fccef429450
MD5 d507e3ff8ef04e158a830e5a74995bdf
BLAKE2b-256 1ba7cce915759c6415ff76292c2beacaf7e349c8c768acdd58b1407f45194ab5

See more details on using hashes here.

File details

Details for the file bs_scheduler-0.4.1-py3-none-any.whl.

File metadata

File hashes

Hashes for bs_scheduler-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 046b2ec9c085fc45b4f13c155ea45abc28528398e049ef69bbc01dbe2f5c9ca7
MD5 4206977d105e2f30d57f108bb311ad20
BLAKE2b-256 1d0cd14b41c48f0827971620315505f8de2e61a38e4a5ad1ca8f04e5ebe12c85

See more details on using hashes here.

Supported by

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