/core-pytorch-utils

Yet another PyTorch Trainer and some core components for deep learning.

Primary LanguagePythonMIT LicenseMIT

drawing

Docs GithubAction Codecov License

Core PyTorch Utils (CPU) [Completed 🎉]

This package is a light-weight core library that provides the most common and essential functionalities shared in various deep learning tasks:

  • Trainer: does tedious training logic for you.
  • LRWarmupScheduler: wraps all standard PyTorch LR scheduler to support warmup.
  • ConfigArgumentParser: provides an argument parser that supports loading a YAML configuration file.
  • ......

You can find a brief Chinese introduction at zhihu.

Updates

[2023/10/29]: Now CPU supports iteration-based training, checkpointing and evaluation!

Installation

From PyPI.

pip install core-pytorch-utils

Or from source.

git clone https://github.com/serend1p1ty/core-pytorch-utils.git
cd core-pytorch-utils
pip install -r requirements.txt
pip install -v -e .

Getting Started

In examples/ folder, we show how to use our Trainer to train a CNN on MINIST.

It is strongly recommended that you run this code before using the CPU library.

Advanced

Learn more from our documentaion.

Contributing

Pull request is welcomed! Before submitting a PR, DO NOT forget to run ./dev/linter.sh that provides syntax checking and code style optimation.

License

CPU is released under the MIT License.

Acknowledgments

We refered mmcv, detectron2 and pytorch-image-models when develping CPU.