別名、継続学習、生涯学習、漸進学習など。
ドキュメントを読んでください。
Colab でのテスト継続!
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 | ✅ | インスタンスの増分 |
新しいクラス | ノースカロライナ州 | ✅ | クラスの増分 |
新しいインスタンスとクラス | NIC | ✅ | データ増分 |
torchvision.dasasets のほとんどのデータセットがサポートされています。完全なリストについては、こちらのデータセットに関するドキュメント ページを参照してください。
さらに、一部の「メタ」データセットは、numpy 配列または任意の torchvision.datasets から、またはツリー状構造を持つデータセットのフォルダーから、または複数のデータセットを組み合わせてデータセットフェローシップを作成することによって、作成または使用できます。
すべての継続ローダーは反復可能 (つまり、for ループが可能) であり、インデックス付けも可能です。
clloader[2]
3 番目のタスクを返すことを意味します (インデックスは 0 から始まります)。同様に、各タスクの後に評価したい場合は、表示されているすべてのタスクでclloader_test[:n]
を実行します。
CIFAR10 :
タスク0 | タスク 1 | タスク 2 | タスク 3 | タスク 4 |
MNISTフェローシップ (MNIST + ファッションMNIST + KMNIST) :
タスク0 | タスク 1 | タスク 2 |
順列MNIST :
タスク0 | タスク 1 | タスク 2 | タスク 3 | タスク 4 |
回転MNIST :
タスク0 | タスク 1 | タスク 2 | タスク 3 | タスク 4 |
TransformIncremental + BackgroundSwap :
タスク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 の共同作業によって開始され、現在私たちが 2 人のメンテナーです。
気軽に貢献してください!新しい機能を提案したい場合は、問題を作成してください。
寄稿者: 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 ツールがその名前を使用していたことに注意してください。現在はcontinuum_ciになっています。