continuum
Hashed Scenario, Scenario Generator, AwA2 dataset, Cub200 autodl, +fixes
又名持续学习、终身学习、渐进学习等。
阅读文档。
在 Colab 上测试 Continuum!
从 PyPi 安装:
pip3 install continuum
跑吧!
from torch . utils . data import DataLoader
from continuum import ClassIncremental
from continuum . datasets import MNIST
from continuum . tasks import split_train_val
dataset = MNIST ( "my/data/path" , download = True , train = True )
scenario = ClassIncremental (
dataset ,
increment = 1 ,
initial_increment = 5
)
print ( f"Number of classes: { scenario . nb_classes } ." )
print ( f"Number of tasks: { scenario . nb_tasks } ." )
for task_id , train_taskset in enumerate ( scenario ):
train_taskset , val_taskset = split_train_val ( train_taskset , val_split = 0.1 )
train_loader = DataLoader ( train_taskset , batch_size = 32 , shuffle = True )
val_loader = DataLoader ( val_taskset , batch_size = 32 , shuffle = True )
for x , y , t in train_loader :
# Do your cool stuff here
姓名 | 缩写词 | 支持 | 设想 |
---|---|---|---|
新实例 | NI | ✅ | 增量实例 |
新课程 | 数控 | ✅ | 增量类 |
新实例和类 | 网卡 | ✅ | 数据增量 |
支持 torchvision.dasasets 中的大多数数据集,有关完整列表,请参阅此处有关数据集的文档页面。
此外,一些“元”数据集可以从 numpy 数组或任何 torchvision.datasets 或从具有树状结构的数据集的文件夹中创建或使用,或者通过组合多个数据集并创建数据集奖学金!
我们所有的连续加载器都是可迭代的(即你可以对它们进行 for 循环),并且也是可索引的。
这意味着clloader[2]
返回第三个任务(索引从 0 开始)。同样,如果您想在每个任务后进行评估,请对所有已看到的任务执行clloader_test[:n]
。
CIFAR10 :
任务0 | 任务1 | 任务2 | 任务3 | 任务4 |
MNIST 奖学金(MNIST + FashionMNIST + KMNIST) :
任务0 | 任务1 | 任务2 |
排列后的 MNIST :
任务0 | 任务1 | 任务2 | 任务3 | 任务4 |
旋转 MNIST :
任务0 | 任务1 | 任务2 | 任务3 | 任务4 |
增量变换+背景交换:
任务0 | 任务1 | 任务2 |
如果您发现该库对您的工作有用,请考虑引用它:
@misc{douillardlesort2021continuum,
author={Douillard, Arthur and Lesort, Timothée},
title={Continuum: Simple Management of Complex Continual Learning Scenarios},
publisher={arXiv: 2102.06253},
year={2021}
}
这个项目是由 Arthur Douillard 和 Timothée Lesort 共同发起的,目前我们是两位维护者。
请随意贡献!如果您想提出新功能,请创建一个问题。
贡献者:Lucas Caccia Lucas Cecchi Pau Rodriguez、Yury Antonov、psychicmario、fcld94、Ashok Arjun、Md Rifat Arefin、DanieleMugnai、Xiaohan Zou、Umberto Cappellazzo。
我们的项目可以在 PyPi 上使用!
pip3 install continuum
请注意,之前另一个项目(CI 工具)正在使用该名称。现在是 Continum_ci。