También conocido como aprendizaje continuo, aprendizaje permanente, aprendizaje incremental, etc.
Lea la documentación.
¡Prueba Continuum en Colab!
Instalar desde y PyPi:
pip3 install continuum
¡Y corre!
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
Nombre | Acrónimo | Apoyado | Guión |
---|---|---|---|
Nuevas instancias | NI | ✅ | Instancias incrementales |
Nuevas clases | CAROLINA DEL NORTE | ✅ | Clases incrementales |
Nuevas instancias y clases | tarjeta de red | ✅ | Datos incrementales |
La mayoría de los conjuntos de datos de torchvision.dasasets son compatibles; para obtener la lista completa, consulte la página de documentación sobre conjuntos de datos aquí.
Además, algunos conjuntos de datos "Meta" se pueden crear o utilizar desde una matriz numpy o cualquier conjunto de datos torchvision.data o desde una carpeta para conjuntos de datos que tengan una estructura similar a un árbol o combinando varios conjuntos de datos y creando becas de conjuntos de datos.
Todos nuestros cargadores continuos son iterables (es decir, puede realizar un bucle for en ellos) y también son indexables.
Lo que significa que clloader[2]
devuelve la tercera tarea (el índice comienza en 0). Del mismo modo, si desea evaluar después de cada tarea, haga clloader_test[:n]
en todas las tareas vistas.
CIFAR10 :
Tarea 0 | Tarea 1 | Tarea 2 | Tarea 3 | Tarea 4 |
Beca MNIST (MNIST + FashionMNIST + KMNIST) :
Tarea 0 | Tarea 1 | Tarea 2 |
MNIST permutado :
Tarea 0 | Tarea 1 | Tarea 2 | Tarea 3 | Tarea 4 |
MNIST rotado :
Tarea 0 | Tarea 1 | Tarea 2 | Tarea 3 | Tarea 4 |
TransformarIncremental + Intercambio de Fondo :
Tarea 0 | Tarea 1 | Tarea 2 |
Si encuentra útil esta biblioteca en su trabajo, considere citarla:
@misc{douillardlesort2021continuum,
author={Douillard, Arthur and Lesort, Timothée},
title={Continuum: Simple Management of Complex Continual Learning Scenarios},
publisher={arXiv: 2102.06253},
year={2021}
}
Este proyecto se inició gracias al esfuerzo conjunto de Arthur Douillard y Timothée Lesort, y actualmente somos los dos mantenedores.
¡Siéntete libre de contribuir! Si desea proponer nuevas funciones, cree un problema.
Colaboradores: Lucas Caccia Lucas Cecchi Pau Rodriguez, Yury Antonov, psychicmario, fcld94, Ashok Arjun, Md Rifat Arefin, DanieleMugnai, Xiaohan Zou, Umberto Cappellazzo.
¡Nuestro proyecto está disponible en PyPi!
pip3 install continuum
Tenga en cuenta que anteriormente otro proyecto, una herramienta de CI, usaba ese nombre. Ahora está ahí continuum_ci.