雪崩网站|开始使用|示例|教程| 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 团队以及所有成就它的人们!