Также известно как непрерывное обучение, обучение на протяжении всей жизни, постепенное обучение и т. д.
Прочтите документацию.
Тестируйте Continuum на 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
Имя | Акроним | Поддерживается | Сценарий |
---|---|---|---|
Новые экземпляры | НИ | ✅ | Экземпляры Инкрементальные |
Новые классы | Северная Каролина | ✅ | Классы Инкрементальные |
Новые экземпляры и классы | сетевая карта | ✅ | Данные инкрементальные |
Поддерживается большинство наборов данных из torchvision.dasasets. Полный список можно найти на странице документации по наборам данных здесь.
Кроме того, некоторые «мета-наборы данных» можно создавать или использовать из массива numpy или любых наборов torchvision.datasets, или из папки для наборов данных, имеющих древовидную структуру, или путем объединения нескольких наборов данных и создания сообществ наборов данных!
Все наши непрерывные загрузчики являются итерируемыми (т.е. вы можете использовать для них цикл), а также индексируемыми.
Это означает, что clloader[2]
возвращает третью задачу (индекс начинается с 0). Аналогично, если вы хотите выполнить оценку после каждой задачи, для всех просмотренных задач выполните clloader_test[:n]
.
СИФАР10 :
Задача 0 | Задача 1 | Задача 2 | Задача 3 | Задача 4 |
Стипендия MNIST (MNIST + FashionMNIST + 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}
}
Этот проект был начат совместными усилиями Артура Дуйяра и Тимоти Лесорта, и в настоящее время мы занимаемся его сопровождением.
Не стесняйтесь внести свой вклад! Если вы хотите предложить новые функции, создайте проблему.
Авторы: Лукас Качча Лукас Чекки Пау Родригес, Юрий Антонов, psychicmario, fcld94, Ашок Арджун, доктор Рифат Арефин, Даниэле Мугнай, Сяохан Цзоу, Умберто Капеллаццо.
Наш проект доступен на PyPi!
pip3 install continuum
Обратите внимание, что ранее это имя использовалось в другом проекте — инструменте CI. Теперь он там continuum_ci.