Site da Avalanche | Primeiros passos | Exemplos | Tutorial | Documento API | Papel | Twitter
Avalanche é uma biblioteca de aprendizagem contínua de ponta a ponta baseada em Pytorch , nascida dentro da ContinualAI com o objetivo único de fornecer uma base de código de código aberto compartilhada e colaborativa (licenciada pelo MIT) para prototipagem rápida, treinamento e avaliação reproduzível de algoritmos de aprendizagem contínua.
️ Procurando por linhas de base de aprendizagem contínua ? No projeto irmão CL-Baseline baseado no Avalanche, reproduzimos resultados de artigos seminais que você pode usar diretamente em seus experimentos !
O Avalanche pode ajudar pesquisadores de Aprendizagem Contínua de diversas maneiras:
A biblioteca está organizada em quatro módulos principais:
Avalanche, o primeiro experimento de uma biblioteca ponta a ponta para pesquisa e desenvolvimento de aprendizagem contínua reproduzível, onde você pode encontrar benchmarks, algoritmos, métricas de avaliação e muito mais, no mesmo lugar.
Vamos fazer isso juntos ??? um passeio maravilhoso! ?
Confira abaixo como você pode começar a usar o 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 é uma estrutura em constante desenvolvimento. Graças ao apoio da comunidade ContinualAI e dos seus membros activos, estamos rapidamente a alargar as suas funcionalidades e a melhorar a sua usabilidade com base nas exigências da nossa comunidade de investigação!
No momento, o Avalanche está em Beta . Apoiamos vários Benchmarks , Estratégias e Métricas , que o tornam, acreditamos, a melhor ferramenta disponível para sua pesquisa de aprendizagem contínua! ?
Você pode instalar o Avalanche executando pip install avalanche-lib
.
Isso instalará o pacote principal do Avalanche. Você pode instalar o Avalanche com pacotes extras para habilitar mais funcionalidades.
Procure aqui um guia mais completo sobre as diferentes formas disponíveis para instalar o Avalanche.
Sabemos que aprender uma nova ferramenta pode ser difícil no início. É por isso que tornamos o aprendizado do Avalanche o mais fácil possível, com um conjunto de recursos que o ajudarão ao longo do caminho. Por exemplo, você pode começar com nosso guia de 5 minutos que permitirá adquirir o básico sobre o Avalanche e como você pode usá-lo em seu projeto de pesquisa:
Também preparamos para você um grande conjunto de exemplos e trechos que você pode conectar diretamente ao seu código e brincar:
Depois de concluir essas duas seções, você já se sentirá com superpoderes ⚡, por isso também criamos um tutorial aprofundado que cobrirá detalhadamente todos os aspectos do Avalanche e fará de você um verdadeiro Aprendiz Contínuo! ??
Se você usar o Avalanche em seu projeto de pesquisa, lembre-se de citar nosso artigo JMLR-MLOSS https://jmlr.org/papers/v24/23-0130.html. Isso nos ajudará a tornar o Avalanche mais conhecido na comunidade de aprendizado de máquina, tornando-nos, em última análise, uma ferramenta melhor 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}
}
você também pode citar o documento anterior do workshop CLVision @ CVPR2021: "Avalanche: uma biblioteca ponta a ponta para aprendizagem contínua".
@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 é o principal projeto colaborativo de código aberto da ContinualAI: uma organização de pesquisa sem fins lucrativos e a maior comunidade aberta em Aprendizagem Contínua para IA.
Você tem alguma dúvida, deseja relatar um problema ou simplesmente solicitar um novo recurso? Confira o centro de perguntas e problemas. Você quer melhorar o Avalanche sozinho? Siga estas regras simples sobre como contribuir.
O projeto Avalanche é mantido pela equipe de pesquisa colaborativa ContinualAI Lab e amplamente utilizado pelas Unidades do consórcio ContinualAI Research (CLAIR), uma rede de pesquisa das principais partes interessadas na aprendizagem contínua em todo o mundo.
Estamos sempre em busca de novos membros incríveis dispostos a ingressar no ContinualAI Lab, então confira nosso site oficial se quiser saber mais sobre nós e nossas atividades, ou entre em contato conosco.
Saiba mais sobre a equipe Avalanche e todas as pessoas que a tornaram excelente!