Sitio web de avalancha | Empezando | Ejemplos | Tutoría | Documento API | Papel | Gorjeo
Avalanche es una biblioteca de aprendizaje continuo de extremo a extremo basada en Pytorch , nacida dentro de ContinualAI con el objetivo único de proporcionar una base de código de código abierto (con licencia MIT) compartida y colaborativa para la creación rápida de prototipos, capacitación y evaluación reproducible de algoritmos de aprendizaje continuo.
️ ¿Busca líneas de base de aprendizaje continuo ? En el proyecto hermano CL-Baseline basado en Avalanche, reproducimos resultados de artículos fundamentales que puede utilizar directamente en sus experimentos .
Avalanche puede ayudar a los investigadores de Aprendizaje Continuo de varias maneras:
La biblioteca está organizada en cuatro módulos principales:
Avalanche, el primer experimento de una biblioteca de extremo a extremo para investigación y desarrollo de aprendizaje continuo reproducible donde puede encontrar puntos de referencia, algoritmos, métricas de evaluación y mucho más, en el mismo lugar.
¿Hagámoslo juntos??? ¡un paseo maravilloso! ?
¡Mira a continuación cómo puedes comenzar a usar 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 es un framework en constante desarrollo. Gracias al apoyo de la comunidad ContinualAI y sus miembros activos, estamos ampliando rápidamente sus funciones y mejorando su usabilidad en función de las demandas de nuestra comunidad de investigación.
Por el momento, Avalanche se encuentra en Beta . Respaldamos varios puntos de referencia , estrategias y métricas que, creemos, la convierten en la mejor herramienta que existe para su investigación de aprendizaje continuo. ?
Puede instalar Avalanche ejecutando pip install avalanche-lib
.
Esto instalará el paquete principal de Avalanche. Puede instalar Avalanche con paquetes adicionales para habilitar más funcionalidades.
Busque aquí una guía más completa sobre las diferentes formas disponibles para instalar Avalanche.
Sabemos que aprender una nueva herramienta puede resultar difícil al principio. Es por eso que hicimos que Avalanche fuera lo más fácil de aprender posible con un conjunto de recursos que lo ayudarán en el camino. Por ejemplo, puedes comenzar con nuestra guía de 5 minutos que te permitirá adquirir los conceptos básicos sobre Avalanche y cómo puedes utilizarlo en tu proyecto de investigación:
También hemos preparado para usted un gran conjunto de ejemplos y fragmentos que puede conectar directamente a su código y jugar con ellos:
Habiendo completado estas dos secciones, ya te sentirás con superpoderes ⚡, es por eso que también hemos creado un tutorial detallado que cubrirá todos los aspectos de Avalanche en detalle y te convertirá en un verdadero aprendiz continuo. ??
Si utiliza Avalanche en su proyecto de investigación, recuerde citar nuestro artículo JMLR-MLOSS https://jmlr.org/papers/v24/23-0130.html. Esto nos ayudará a hacer que Avalanche sea más conocido en la comunidad de aprendizaje automático y, en última instancia, creará una mejor herramienta para todos:
@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}
}
También puede citar el documento del taller anterior de CLVision @ CVPR2021: "Avalanche: una biblioteca de un extremo a otro para el aprendizaje continuo".
@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 es el proyecto colaborativo emblemático de código abierto de ContinualAI: una organización de investigación sin fines de lucro y la comunidad abierta más grande sobre aprendizaje continuo para IA.
¿Tiene alguna pregunta, desea informar un problema o simplemente solicitar una nueva función? Consulte el centro de preguntas y problemas. ¿Quieres mejorar Avalanche tú mismo? Siga estas sencillas reglas sobre cómo contribuir.
El proyecto Avalanche es mantenido por el equipo de investigación colaborativo ContinualAI Lab y utilizado ampliamente por las Unidades del consorcio ContinualAI Research (CLAIR), una red de investigación de las principales partes interesadas en el aprendizaje continuo de todo el mundo.
Siempre estamos buscando nuevos miembros increíbles dispuestos a unirse a ContinualAI Lab, así que visite nuestro sitio web oficial si desea obtener más información sobre nosotros y nuestras actividades, o contáctenos.
¡Obtenga más información sobre el equipo de Avalanche y todas las personas que lo hicieron grandioso!