All Projects → Continvvm → Continuum

Continvvm / Continuum

Licence: mit
A clean and simple data loading library for Continual Learning

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Continuum

Dataloaders
Pytorch and TensorFlow data loaders for several audio datasets
Stars: ✭ 97 (-28.68%)
Mutual labels:  dataset, dataloader
Awesome Italian Public Datasets
A selection of interesting Open dataset from the Italian Public Administration and Civic Data use cases
Stars: ✭ 132 (-2.94%)
Mutual labels:  dataset
Ember Impagination
An Ember Addon that puts the fun back in asynchronous, paginated datasets
Stars: ✭ 123 (-9.56%)
Mutual labels:  dataset
Contactpose
Large dataset of hand-object contact, hand- and object-pose, and 2.9 M RGB-D grasp images.
Stars: ✭ 129 (-5.15%)
Mutual labels:  dataset
Deepecg
ECG classification programs based on ML/DL methods
Stars: ✭ 124 (-8.82%)
Mutual labels:  dataset
Python Pytest Cases
Separate test code from test cases in pytest.
Stars: ✭ 127 (-6.62%)
Mutual labels:  dataset
Onepiece Kg
a knowledge graph project for ONEPIECE /《海贼王》知识图谱
Stars: ✭ 123 (-9.56%)
Mutual labels:  dataset
Mams For Absa
A Multi-Aspect Multi-Sentiment Dataset for aspect-based sentiment analysis.
Stars: ✭ 135 (-0.74%)
Mutual labels:  dataset
Hake
HAKE: Human Activity Knowledge Engine (CVPR'18/19/20, NeurIPS'20)
Stars: ✭ 132 (-2.94%)
Mutual labels:  dataset
Githubrankingsspain
⬆️ Rankings with the most active GitHub users in Spain (sorted by public contributions) 🇪🇸
Stars: ✭ 127 (-6.62%)
Mutual labels:  dataset
Sunrgbd Meta Data
train test labels for sunrgbd
Stars: ✭ 127 (-6.62%)
Mutual labels:  dataset
Dialog corpus
用于训练中英文对话系统的语料库 Datasets for Training Chatbot System
Stars: ✭ 1,662 (+1122.06%)
Mutual labels:  dataset
Hpatches Benchmark
Python & Matlab code for local feature descriptor evaluation with the HPatches dataset.
Stars: ✭ 129 (-5.15%)
Mutual labels:  dataset
Dbg Pds
Deutsche Boerse's Financial Trading Public Data Set
Stars: ✭ 124 (-8.82%)
Mutual labels:  dataset
Vfx Datasets
Stars: ✭ 134 (-1.47%)
Mutual labels:  dataset
Awesome Hungarian Nlp
A curated list of NLP resources for Hungarian
Stars: ✭ 121 (-11.03%)
Mutual labels:  dataset
Dataloader
DataLoader is a generic utility to be used as part of your application's data fetching layer to provide a consistent API over various backends and reduce requests to those backends via batching and caching.
Stars: ✭ 11,040 (+8017.65%)
Mutual labels:  dataloader
Learnpaddle2
PaddlePaddle Fluid 版本系列教程,CSDN博客专栏:
Stars: ✭ 129 (-5.15%)
Mutual labels:  dataset
Sensaturban
🔥Urban-scale point cloud dataset (CVPR 2021)
Stars: ✭ 135 (-0.74%)
Mutual labels:  dataset
Textrecognitiondatagenerator
A synthetic data generator for text recognition
Stars: ✭ 2,075 (+1425.74%)
Mutual labels:  dataset

Continuum: Simple Management of Complex Continual Learning Scenarios

PyPI version Build Status Codacy Badge DOI Documentation Status coverage

Doc Paper

A library for PyTorch's loading of datasets in the field of Continual Learning

Aka Continual Learning, Lifelong-Learning, Incremental Learning, etc.

Read the documentation.

Example:

Install from and PyPi:

pip3 install continuum

And run!

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

Supported Types of Scenarios

Name Acronym  Supported Scenario
New Instances  NI Instances Incremental
New Classes  NC Classes Incremental
New Instances & Classes  NIC Data Incremental

Supported Datasets:

Most dataset from torchvision.dasasets are supported, for the complete list, look at the documentation page on datasets here.

Furthermore some "Meta"-datasets are can be create or used from numpy array or any torchvision.datasets or from a folder for datasets having a tree-like structure or by combining several dataset and creating dataset fellowships!

Indexing

All our continual loader are iterable (i.e. you can for loop on them), and are also indexable.

Meaning that clloader[2] returns the third task (index starts at 0). Likewise, if you want to evaluate after each task, on all seen tasks do clloader_test[:n].

Example of Sample Images from a Continuum scenario

CIFAR10:

Task 0 Task 1 Task 2 Task 3 Task 4

MNIST Fellowship (MNIST + FashionMNIST + KMNIST):

Task 0 Task 1 Task 2

PermutedMNIST:

Task 0 Task 1 Task 2 Task 3 Task 4

RotatedMNIST:

Task 0 Task 1 Task 2 Task 3 Task 4

Citation

If you find this library useful in your work, please consider citing it:

@misc{douillardlesort2021continuum,
  author={Douillard, Arthur and Lesort, Timothée},
  title={Continuum: Simple Management of Complex Continual Learning Scenarios},
  publisher={arXiv: 2102.06253},
  year={2021}
}

Maintainers

This project was started by a joint effort from Arthur Douillard & Timothée Lesort, and we are currently the two maintainers.

Feel free to contribute! If you want to propose new features, please create an issue.

Contributors: prlz77, yantonov, psychicmario, fcld94

On PyPi

Our project is available on PyPi!

pip3 install continuum

Note that previously another project, a CI tool, was using that name. It is now there continuum_ci.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].