Favicon of Avalanche

Avalanche

Continual learning library for Python and PyTorch. Train and evaluate algorithms on your own CPU or CUDA GPU with reusable benchmarks and MIT-licensed code.

Screenshot of Avalanche website

Avalanche is a Python library for researchers and practitioners studying continual learning, where models learn across a sequence of data or tasks. Built on PyTorch, it brings benchmark datasets, training strategies and evaluation into one framework, reducing the custom code needed to compare experiments. It's open source under the MIT license and can train models on your own CPU or CUDA GPU.

Its benchmark tools turn one or more datasets into streams of training and test data through a common interface. Included benchmarks such as PermutedMNIST give researchers a shared basis for comparisons. The training tools include implemented baselines and continual learning algorithms, alongside support for developing your own strategies within the same framework.

Evaluation covers metrics at different points in an experiment, including individual batches, epochs and complete data streams. That lets researchers examine performance as training progresses, rather than relying only on a final score. Reusable components help keep data handling and evaluation consistent when comparing methods.

Avalanche also includes model architectures and pretrained models for experiments. Logging and plotting tools record results to the console or files, with TensorBoard support for tracking metrics in an interactive dashboard. The separate CL-Baseline project builds on Avalanche and provides reproductions of results from established continual learning papers. The project describes the framework as beta. Install the avalanche-lib Python package; additional functionality may need optional dependencies.

Similar to Avalanche