Lawinen-Website | Erste Schritte | Beispiele | Anleitung | API-Dokument | Papier | Twitter
Avalanche ist eine End-to-End-Bibliothek für kontinuierliches Lernen , die auf Pytorch basiert und innerhalb von ContinualAI mit dem einzigartigen Ziel entwickelt wurde, eine gemeinsame und kollaborative Open-Source-Codebasis (MIT-Lizenz) für schnelles Prototyping, Training und reproduzierbare Evaluierung von Algorithmen für kontinuierliches Lernen bereitzustellen.
️ Suchen Sie nach Grundlagen für kontinuierliches Lernen ? Im Geschwisterprojekt CL-Baseline, das auf Avalanche basiert, reproduzieren wir wegweisende Papierergebnisse, die Sie direkt in Ihren Experimenten verwenden können!
Avalanche kann Forschern im Bereich des kontinuierlichen Lernens auf verschiedene Weise helfen:
Die Bibliothek ist in vier Hauptmodule gegliedert:
Avalanche ist das erste Experiment einer End-to-End-Bibliothek für reproduzierbare kontinuierliche Lernforschung und -entwicklung, in der Sie Benchmarks, Algorithmen, Bewertungsmetriken und vieles mehr am selben Ort finden.
Lass es uns gemeinsam schaffen ??? eine wundervolle Fahrt! ?
Sehen Sie sich unten an, wie Sie Avalanche nutzen können! ?
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 ist ein Framework, das sich ständig weiterentwickelt. Dank der Unterstützung der ContinualAI-Community und ihrer aktiven Mitglieder können wir ihre Funktionen schnell erweitern und ihre Benutzerfreundlichkeit basierend auf den Anforderungen unserer Forschungsgemeinschaft verbessern!
Derzeit befindet sich Avalanche in der Beta-Phase . Wir unterstützen mehrere Benchmarks , Strategien und Metriken , die es unserer Meinung nach zum besten Tool für Ihre kontinuierliche Lernforschung machen! ?
Sie können Avalanche installieren, indem Sie pip install avalanche-lib
ausführen.
Dadurch wird das Kernpaket von Avalanche installiert. Sie können Avalanche mit zusätzlichen Paketen installieren, um weitere Funktionen zu ermöglichen.
Hier finden Sie eine ausführlichere Anleitung zu den verschiedenen Möglichkeiten zur Installation von Avalanche.
Wir wissen, dass das Erlernen eines neuen Tools zunächst schwierig sein kann. Aus diesem Grund haben wir das Erlernen von Avalanche mit einer Reihe von Ressourcen so einfach wie möglich gemacht, die Ihnen dabei helfen werden. Sie können beispielsweise mit unserem 5-minütigen Leitfaden beginnen, der Ihnen die Grundlagen von Avalanche vermittelt und zeigt, wie Sie es in Ihrem Forschungsprojekt verwenden können:
Wir haben auch eine große Auswahl an Beispielen und Snippets für Sie vorbereitet, die Sie direkt in Ihren Code einfügen und damit experimentieren können:
Nachdem Sie diese beiden Abschnitte abgeschlossen haben, werden Sie bereits über Superkräfte verfügen ⚡. Aus diesem Grund haben wir auch ein ausführliches Tutorial erstellt, das alle Aspekte von Avalanche im Detail abdeckt und Sie zu einem echten kontinuierlichen Lerner macht! ??
Wenn Sie Avalanche in Ihrem Forschungsprojekt verwenden, denken Sie bitte daran, unser JMLR-MLOSS-Papier https://jmlr.org/papers/v24/23-0130.html zu zitieren. Dies wird uns helfen, Avalanche in der Community des maschinellen Lernens bekannter zu machen und letztendlich ein besseres Tool für alle zu schaffen:
@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}
}
Sie können auch das vorherige Workshop-Papier von CLVision @ CVPR2021 zitieren: „Avalanche: eine End-to-End-Bibliothek für kontinuierliches Lernen“.
@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 ist das Flaggschiff-Open-Source-Kooperationsprojekt von ContinualAI: einer gemeinnützigen Forschungsorganisation und der größten offenen Community für kontinuierliches Lernen für KI.
Haben Sie eine Frage, möchten Sie ein Problem melden oder einfach nach einer neuen Funktion fragen? Schauen Sie sich das Fragen- und Problemcenter an. Möchten Sie Avalanche selbst verbessern? Befolgen Sie diese einfachen Regeln zum Mitwirken.
Das Avalanche-Projekt wird vom gemeinschaftlichen Forschungsteam ContinualAI Lab betreut und von den Einheiten des ContinualAI Research (CLAIR)-Konsortiums, einem Forschungsnetzwerk der wichtigsten Akteure des kontinuierlichen Lernens auf der ganzen Welt, umfassend genutzt.
Wir sind immer auf der Suche nach neuen großartigen Mitgliedern, die bereit sind, dem ContinualAI Lab beizutreten. Schauen Sie sich also unsere offizielle Website an, wenn Sie mehr über uns und unsere Aktivitäten erfahren möchten, oder kontaktieren Sie uns.
Erfahren Sie mehr über das Avalanche-Team und alle Menschen, die es großartig gemacht haben!