Site Web sur les avalanches | Commencer | Exemples | Tutoriel | Document API | Papier | Gazouillement
Avalanche est une bibliothèque d'apprentissage continu de bout en bout basée sur Pytorch , née au sein de ContinualAI dans le but unique de fournir une base de code open source partagée et collaborative (sous licence MIT) pour un prototypage rapide, une formation et une évaluation reproductible des algorithmes d'apprentissage continu.
️ Vous recherchez des bases d’apprentissage continu ? Dans le projet frère CL-Baseline basé sur Avalanche, nous reproduisons les résultats d'articles fondateurs que vous pouvez directement utiliser dans vos expériences !
Avalanche peut aider les chercheurs en formation continue de plusieurs manières :
La bibliothèque est organisée en quatre modules principaux :
Avalanche, la première expérience d'une bibliothèque de bout en bout pour la recherche et le développement d'apprentissage continu reproductible où vous pouvez trouver des benchmarks, des algorithmes, des mesures d'évaluation et bien plus encore, au même endroit.
Faisons-le ensemble ??? une magnifique balade ! ?
Découvrez ci-dessous comment vous pouvez commencer à utiliser Avalanche ! ?
import torch
from torch . nn import CrossEntropyLoss
from torch . optim import SGD
from avalanche . benchmarks . classic import PermutedMNIST
from avalanche . models import SimpleMLP
from avalanche . training import Naive
# Config
device = torch . device ( "cuda:0" if torch . cuda . is_available () else "cpu" )
# model
model = SimpleMLP ( num_classes = 10 )
# CL Benchmark Creation
perm_mnist = PermutedMNIST ( n_experiences = 3 )
train_stream = perm_mnist . train_stream
test_stream = perm_mnist . test_stream
# Prepare for training & testing
optimizer = SGD ( model . parameters (), lr = 0.001 , momentum = 0.9 )
criterion = CrossEntropyLoss ()
# Continual learning strategy
cl_strategy = Naive (
model , optimizer , criterion , train_mb_size = 32 , train_epochs = 2 ,
eval_mb_size = 32 , device = device )
# train and test loop over the stream of experiences
results = []
for train_exp in train_stream :
cl_strategy . train ( train_exp )
results . append ( cl_strategy . eval ( test_stream ))
Avalanche est un framework en constante évolution. Grâce au soutien de la communauté ContinualAI et de ses membres actifs, nous étendons rapidement ses fonctionnalités et améliorons sa convivialité en fonction des demandes de notre communauté de recherche !
Pour le moment, Avalanche est en version bêta . Nous prenons en charge plusieurs benchmarks , stratégies et mesures , qui en font, à notre avis, le meilleur outil pour votre recherche d'apprentissage continu ! ?
Vous pouvez installer Avalanche en exécutant pip install avalanche-lib
.
Cela installera le package de base Avalanche. Vous pouvez installer Avalanche avec des packages supplémentaires pour activer plus de fonctionnalités.
Cherchez ici un guide plus complet sur les différentes manières disponibles pour installer Avalanche.
Nous savons qu'apprendre un nouvel outil peut être difficile au début. C'est pourquoi nous avons rendu Avalanche aussi simple que possible à apprendre avec un ensemble de ressources qui vous aideront tout au long du processus. Par exemple, vous pouvez commencer par notre guide de 5 minutes qui vous permettra d'acquérir les bases d'Avalanche et comment l'utiliser dans votre projet de recherche :
Nous avons également préparé pour vous un large éventail d'exemples et d'extraits que vous pouvez brancher directement dans votre code et avec lesquels jouer :
Après avoir terminé ces deux sections, vous vous sentirez déjà doté de super pouvoirs ⚡, c'est pourquoi nous avons également créé un tutoriel approfondi qui couvrira tous les aspects d'Avalanche en détail et fera de vous un véritable apprenant continu ! ??
Si vous utilisez Avalanche dans votre projet de recherche, n'oubliez pas de citer notre article JMLR-MLOSS https://jmlr.org/papers/v24/23-0130.html. Cela nous aidera à mieux faire connaître Avalanche au sein de la communauté du machine learning, et à terme à en faire un meilleur outil pour tout le monde :
@article{JMLR:v24:23-0130,
author = {Antonio Carta and Lorenzo Pellegrini and Andrea Cossu and Hamed Hemati and Vincenzo Lomonaco},
title = {Avalanche: A PyTorch Library for Deep Continual Learning},
journal = {Journal of Machine Learning Research},
year = {2023},
volume = {24},
number = {363},
pages = {1--6},
url = {http://jmlr.org/papers/v24/23-0130.html}
}
vous pouvez également citer le précédent document de l'atelier CLVision @ CVPR2021 : « Avalanche : une bibliothèque de bout en bout pour l'apprentissage continu ».
@InProceedings{lomonaco2021avalanche,
title={Avalanche: an End-to-End Library for Continual Learning},
author={Vincenzo Lomonaco and Lorenzo Pellegrini and Andrea Cossu and Antonio Carta and Gabriele Graffieti and Tyler L. Hayes and Matthias De Lange and Marc Masana and Jary Pomponi and Gido van de Ven and Martin Mundt and Qi She and Keiland Cooper and Jeremy Forest and Eden Belouadah and Simone Calderara and German I. Parisi and Fabio Cuzzolin and Andreas Tolias and Simone Scardapane and Luca Antiga and Subutai Amhad and Adrian Popescu and Christopher Kanan and Joost van de Weijer and Tinne Tuytelaars and Davide Bacciu and Davide Maltoni},
booktitle={Proceedings of IEEE Conference on Computer Vision and Pattern Recognition},
series={2nd Continual Learning in Computer Vision Workshop},
year={2021}
}
Avalanche est le projet collaboratif open source phare de ContinualAI : une organisation de recherche à but non lucratif et la plus grande communauté ouverte sur l'apprentissage continu pour l'IA.
Vous avez une question, vous souhaitez signaler un problème ou simplement demander une nouvelle fonctionnalité ? Consultez le centre de questions et problèmes. Vous souhaitez améliorer Avalanche vous-même ? Suivez ces règles simples sur la façon de contribuer.
Le projet Avalanche est maintenu par l'équipe de recherche collaborative ContinualAI Lab et largement utilisé par les unités du consortium ContinualAI Research (CLAIR), un réseau de recherche regroupant les principaux acteurs de l'apprentissage continu à travers le monde.
Nous sommes toujours à la recherche de nouveaux membres formidables prêts à rejoindre le ContinualAI Lab, alors consultez notre site officiel si vous souhaitez en savoir plus sur nous et nos activités, ou contactez-nous.
Apprenez-en davantage sur l’équipe Avalanche et toutes les personnes qui l’ont rendu génial !