雪崩網站|開始使用|範例|教程| API文件|紙|嘰嘰喳喳
Avalanche是一個基於Pytorch 的端到端持續學習庫,誕生於ContinualAI 內,其獨特目標是提供共享和協作的開源(MIT 許可)程式碼庫,用於持續學習演算法的快速原型設計、訓練和可重複評估。
️ 尋找持續學習基線?在基於 Avalanche 的 CL-Baseline 兄弟計畫中,我們重現了開創性的論文結果,您可以直接在實驗中使用!
Avalanche 可以透過多種方式幫助持續學習研究人員:
該庫分為四個主要模組:
Avalanche是用於可重複的持續學習研究和開發的端到端庫的第一個實驗,您可以在同一個地方找到基準、演算法、評估指標等等。
讓我們一起努力吧????一次美妙的旅程! ?
請查看下面如何開始使用 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 是一個不斷發展的框架。感謝 ContinualAI 社群及其活躍成員的支持,我們正在根據研究社群的需求快速擴展其功能並提高其可用性!
目前,Avalanche 處於Beta 階段。我們支持多項基準、策略和指標,我們相信,這使其成為您持續學習研究的最佳工具! ?
您可以透過執行pip install avalanche-lib
來安裝 Avalanche。
這將安裝核心 Avalanche 套件。您可以安裝帶有額外軟體包的 Avalanche 以啟用更多功能。
請在此處查看安裝 Avalanche 的不同方法的更完整指南。
我們知道,學習新工具一開始可能會很困難。這就是為什麼我們讓 Avalanche 盡可能簡單易學,並提供了一系列可以幫助您學習的資源。例如,您可以從我們的 5 分鐘指南開始,該指南將讓您了解 Avalanche 的基礎知識以及如何在您的研究專案中使用它:
我們還為您準備了大量範例和片段,您可以直接插入程式碼中並使用:
完成這兩部分後,您已經感受到了超能力⚡,這就是為什麼我們還創建了一個深入的教程,它將詳細涵蓋 Avalanche 的所有方面,讓您成為真正的持續學習者! ??
如果您在研究專案中使用 Avalanche,請記得引用我們的 JMLR-MLOSS 論文 https://jmlr.org/papers/v24/23-0130.html。這將幫助我們讓 Avalanche 在機器學習社群中更出名,最終為每個人打造一個更好的工具:
@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}
}
您也可以引用先前的 CLVision @ CVPR2021 研討會論文:「Avalanche:用於持續學習的端對端庫」。
@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是 ContinualAI 的旗艦開源協作計畫:ContinualAI 是一個非營利研究組織,也是最大的人工智慧持續學習開放社群。
您有疑問嗎?查看問題與問題中心。您想自行改進 Avalanche 嗎?請遵循以下有關如何貢獻的簡單規則。
Avalanche 計畫由協作研究團隊 ContinualAI Lab 維護,並被 ContinualAI Research (CLAIR) 聯盟的單位廣泛使用,該聯盟是世界各地主要持續學習利益相關者的研究網絡。
我們一直在尋找願意加入 ContinualAI 實驗室的新成員,因此,如果您想了解更多關於我們和我們的活動的信息,請查看我們的官方網站,或聯繫我們。
詳細了解 Avalanche 團隊以及所有成就它的人!