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
LambdaBS
- sets the batch size to the base batch size times a given lambda.MultiplicativeBS
- sets the batch size to the current batch size times a given lambda.StepBS
- multiplies the batch size with a given factor at a given number of steps.MultiStepBS
- multiplies the batch size with a given factor each time a milestone is reached.ConstantBS
- multiplies the batch size by a given factor once and decreases it again to its base value after a given number of steps.LinearBS
- increases the batch size by a linearly changing multiplicative factor for a given number of steps.ExponentialBS
- increases the batch size by a given $\gamma$ each step.PolynomialBS
- increases the batch size using a polynomial function in a given number of steps.CosineAnnealingBS
- increases the batch size to a maximum batch size and decreases it again following a cyclic cosine curve.IncreaseBSOnPlateau
- increases the batch size each time a given metric has stopped improving for a given number of steps.CyclicBS
- cycles the batch size between two boundaries with a constant frequency, while also scaling the distance between boundaries.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.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.SequentialBS
- calls a list of schedulers sequentially given a list of milestone points which reflect which scheduler should be called when.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)
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | a5daa39801d8ed35c3d4c1ed89f828bac336216c83d9be80be010fccef429450 |
|
MD5 | d507e3ff8ef04e158a830e5a74995bdf |
|
BLAKE2b-256 | 1ba7cce915759c6415ff76292c2beacaf7e349c8c768acdd58b1407f45194ab5 |
File details
Details for the file bs_scheduler-0.4.1-py3-none-any.whl
.
File metadata
- Download URL: bs_scheduler-0.4.1-py3-none-any.whl
- Upload date:
- Size: 17.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 046b2ec9c085fc45b4f13c155ea45abc28528398e049ef69bbc01dbe2f5c9ca7 |
|
MD5 | 4206977d105e2f30d57f108bb311ad20 |
|
BLAKE2b-256 | 1d0cd14b41c48f0827971620315505f8de2e61a38e4a5ad1ca8f04e5ebe12c85 |