PyTorch
Published in

PyTorch

Avalanche: and End-to-End Library for Continual Learning based on PyTorch

Antonio Carta, Andrea Cossu, Hamed Hemati, Lorenzo Pellegrini, Gabriele Graffieti, Vincenzo Lomonaco

Learn more about Avalanche in its Official Website

Why Avalanche? ❄️

Avalanche is an End-to-End Continual Learning Library (now part of the PyTorch Ecosystem!) powered by ContinualAI with the unique goal of providing a shared and collaborative open-source (MIT licensed) codebase for fast prototyping, training and reproducible evaluation of continual learning algorithms.

Learning continually from a non-stationary stream of experiences is a challenging task, especially for deep neural networks, where simply fine-tuning a pre-trained model on the new available data often incurs in catastrophic forgetting of previously learned knowledge.

Avalanche can help Continual Learning researchers and practitioners in several ways:

  • Write less code, prototype faster & reduce errors
  • Improve reproducibility
  • Improve modularity and reusability
  • Increase code efficiency, scalability & portability
  • Augment impact and usability of their research products
Avalanche core mission for open-space researchers!👨‍🚀️

Avalanche in a Nutshell 🌰

The library is organized in five main modules, in order to provide the basic building blocks of any continual learning experiment:

  • Benchmarks: This module maintains a uniform API for data handling, by generating a stream of data from one or more datasets. It contains all the major CL benchmarks (similar to what has been done for torchvision).
  • Training: This module provides all the necessary utilities concerning model training. This includes simple and efficient ways to implement new continual learning strategies as well as a set of CL baselines and state-of-the-art algorithms to use for comparison!
  • Evaluation: This module provides all the utilities and metrics that can help evaluate a CL algorithm with respect to all the factors we believe to be important for a continually learning system like accuracy, forgetting, forward transfer and so on.
  • Models: This module contains several model architectures and pre-trained models that can be used for your continual learning experiment (similar to what has been done in torchvision.models).
  • Logging: It includes advanced logging and plotting features, including native stdout, file and TensorBoard support (How cool is it to have a complete, interactive dashboard, tracking your experiment metrics in real-time with a single line of code?)
Avalanche in a Nutshell: whatch our 5 minutes intro video!

Check out how your code changes when you start using Avalanche! 👇

Simple Permuted MNIST Continual Learning experiment with and without Avalanche!

Avalanche is the first experiment of a End-to-end Library for reproducible continual learning research & development where you can find benchmarks, algorithms, evaluation metrics and much more, in the same place.

Do you want to start using Avalanche right now? Check out the complete From Zero to Hero” tutorial runnable on google colab!

Maintained by ContinualAI 🤗

Avalanche is the flagship open-source collaborative project of ContinualAI: a non profit research organization and the largest open community on Continual Learning for AI.

Do you have a question, do you want to report an issue or simply ask for a new feature? Check out the Questions & Issues center. Do you want to improve Avalanche yourself? Follow these simple rules on How to Contribute.

Avalanche in numbers!

The Avalanche project is maintained by the collaborative research team ContinualAI Lab and used extensively by the Units of the ContinualAI Research (CLAIR) consortium, a research network of the major continual learning stakeholders around the world.

We are always looking for new awesome members willing to join the ContinualAI Lab, so check out our official website if you want to learn more about us and our activities, or contact us.

Learn more about the Avalanche team and all the people who made it great!

Let’s make it together 👫 a wonderful ride! 🎈

Some of the many Avalanche contributors! Lear how you can contribute too! 🤗

Cite Avalanche 📑

If you used Avalanche in your research project, please remember to cite our reference paper “Avalanche: an End-to-End Library for Continual Learning”. This will help us make Avalanche better known in the machine learning community, ultimately making a better tool for everyone:

Avalanche main paper bibitex

--

--

--

An open source machine learning framework that accelerates the path from research prototyping to production deployment

Recommended from Medium

K- Nearest Neighbors

[Revised Edition] Algorithms & Machine Learning 101

Gradient Descent Optimization Techniques for Machine Learning Algorithms

Graph Neural Networks for Binding Affinity Prediction

Experimental Process with Transfer Knowledge

Learn a physical property of material from Images using a DNN

How To Automatically Track And Tune Rasa Models

Part I: Machine Learning for Stock Portfolio Diversification

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Vincenzo Lomonaco

Vincenzo Lomonaco

AI & Continual Learning Assistant Professor @ Unipi | Co-Founding President & Lab Director @ ContinualAI.org | Personal Website: http://vincenzolomonaco.com

More from Medium

PADL: portable PyTorch pipelines facilitating deep-learning model use

A practical guide to anomaly detection using Anomalib

Human intelligence-based anomaly detection in The Simpsons

TrivialAugment: The next evolution in Data Augmentation

Implementing a Transformer From Scratch