# Introduction

**Avalanche** was born within [ContinualAI](https://www.continualai.org) with a clear goal in mind:

> #### *Pushing Continual Learning to the next level, providing a shared and collaborative library for fast prototyping, training and reproducible evaluation of continual learning algorithms.*

As a powerful *avalanche*, a *Continual Learning* agent *incrementally* *improves* its knowledge and skills over time, building upon the previously acquired ones and learning how to interact with the external world.

We hope *Avalanche* may trigger the same ***positive reinforcement loop*** within our community, moving towards a more ***collaborative*** **and inclusive** way of doing research and helping us tackle bigger problems, faster and better, but together! 👪

{% embed url="<https://www.youtube.com/watch?v=y924wXP86Mo>" %}
Avalanche 5 minutes introduction
{% endembed %}

## 💪The Avalanche Advantage

Avalanche has several advantages:

* **Shared & Coherent Codebase**: Aren't you tired of re-inventing the wheel in continual learning? We are. Re-producing paper results has always been daunting in machine learning and it is even more so in continual learning. *Avalanche* makes you stop re-write your (and other people) code all over again with a coherent and shared codebase that provides already all the utilities, benchmark, metrics and baselines you may need for your next great continual learning research project!
* **Errors Reduction**: The more code we write, the more bugs we introduce in our code. This is the rule, not the exception. *Avalanche*, let you focus on what really matters: defining your CL solution. *Benchmarks* preparation to *training,* *evaluation* and *comparison* with other methods will be already there for you. This in turn, massively reduce the amount of errors introduced and the time needed to debug your code.
* **Faster Prototyping**: As researchers or data scientists, we have dozens ideas every day and time is always too little to execute them. However, if we think about it, most of the time spent in bringing our ideas to life is consumed in installing software, preparing and cleaning our data, preparing the experiments code infrastructure and so on. *Avalanche* lets you focus just on the original algorithmic proposal, taking care of most of the rest!
* **Improved Reproducibility & Portability**: One of the great features of *Avalanche*, is the possibility of reproducing experimental results easily and on any OS. Researchers can simply plug-in their algorithm into the codebase and see how it goes with respect of other researchers' methods. Their algorithm in turn, is used as a baseline for other methods, creating a virtuous circle. This is only possible thanks to the simple, yet powerful idea of providing shared *benchmarks*, *training* and *evaluation* in a single place.
* **Improved Modularity**: *Avalanche* has been designed with modularity in mind. As you will learn more about Avalanche, you will realize we have sometimes forego simplicity in favor of modularity and reusability (we hate code replication as you do 🤪). However, we believe this will help us scale in the near future as we collaboratively bring this codebase into maturity.
* **Increased Efficiency & Scalability**: Full-stack researchers & data scientists know this, making your algorithm memory and computationally efficient is tough. *Avalanche* is already optimized for you, so that you can run your ImageNet continual learning experiment on your 8GB laptop (buy a cooling fan 💨) or even try it on embedded devices of your latest product!

But most of all, *Avalanche*, can help us standardize our field and work better together, more collaboratively, towards our shared goal of making machines learn over time like humans do.

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

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