/nncore

📦 A lightweight machine learning toolkit for researchers, providing common model design & learning functionalities.

Primary LanguagePythonMIT LicenseMIT

NNCore

A lightweight machine learning toolkit for researchers.

NNCore is a library that provides common functionalities for Machine Learning and Deep Learning researchers. This project aims at helping users focus more on science but not engineering during research. The essential functionalities include but are not limited to:

  • Universal I/O APIs
  • Efficient implementations of layers and losses that are not included in PyTorch
  • Extended methods for distributed training
  • More powerful data loading techniques
  • An engine that can take over the whole training and testing process, with all the baby-sitting works (stage control, optimizer configuration, lr scheduling, checkpoint management, metrics & tensorboard writing, etc.) done automatically. See an example for details.

Note that some methods in the library work with PyTorch 2.0+, but the installation of PyTorch is not necessary.

Continuous Integration

Platform / Python Version 3.9 3.10 3.11 3.12
Ubuntu 20.04 Build Build Build Build
Ubuntu 22.04 Build Build Build Build
macOS 12.x Build Build Build Build
macOS 13.x Build Build Build Build
Windows Server 2022 Build Build Build Build

Installation

You may install nncore directly from PyPI

pip install nncore

or manually from source

git clone https://github.com/yeliudev/nncore.git
cd nncore
pip install -e .

Getting Started

Please refer to our documentation for how to incorporate nncore into your projects.

Acknowledgements

This library is licensed under the MIT License. Part of the code in this project is modified from mmcv and fvcore with many thanks to the original authors.