Git Product home page Git Product logo

Comments (6)

mmderakhshani avatar mmderakhshani commented on June 16, 2024 2

Hey, @arthurdouillard and @TLESORT. Thanks for your warm support. so delighted to hear that your API will support cifar10/cifar100 benchmarks soon. To be honest, I am really enjoying your API and working with it.

from continuum.

TLESORT avatar TLESORT commented on June 16, 2024

I will answer for Arthur if you don't mind :)

I think the API does not support the CIFAR10/100 experiment from "continual learning with hyper-networks" yet.
The experiment is composed of 11 tasks, first CIFAR10 and after 10 tasks composed of set of 10 classes from CIFAR100, is that right?
If you need it, we can think about how to make it possible easily.

Fellowship is originally meant to use a composition of datasets, like first tasks : 'all cifar10' and second second 'all cifar100'. Maybe there is a smart way to use it for the experiment you mention. ;)

Edit: I will test if we can do it with Fellowship

Cheers
Timothée

from continuum.

TLESORT avatar TLESORT commented on June 16, 2024

It seems there is a problem with the Fellowship class, I will try to fix it as soon as possible.
However normally the experiment you mentioned could be defined like this:

from continuum.datasets import CIFARFellowship
from continuum.scenarios import ClassIncremental

cl_dataset = CIFARFellowship(data_path=".", train=True)

continuum = ClassIncremental(cl_dataset, increment=10)

I will try to fix the bug and push the fix :)

from continuum.

TLESORT avatar TLESORT commented on June 16, 2024

I've found a quick way to fix Fellowship you can replace lines 60-61 in continuum/datasets/base.py :

def __init__(self, *args, dataset_type, train: bool, **kwargs):
        super(PyTorchDataset, self).__init__(*args, train, **kwargs)

by

def __init__(self, *args, dataset_type, data_path: str = "", train: bool, **kwargs):
        super(PyTorchDataset, self).__init__(*args, data_path, train, **kwargs)

After that, the code I gave in the previous comment should work and produce:
11 tasks
first tasks with CIFAR10, label from 0 to 9
second tasks, first 10 classes of CIFAR100, labels from 10 to 19
[...]
task eleven, last 10 classes of CIFAR100, labels from 100 to 119

I hope this is what you wanted :D

from continuum.

arthurdouillard avatar arthurdouillard commented on June 16, 2024

@mmderakhshani Fellowship currently has a small bug, but it will be fixed tomorrow. Sorry about that.

Yes we support the setting CIFAR10/CIFAR100, where there are 11 tasks of 10 classes each.

When the code will be fixed, you should do:

from continuum import ClassIncremental
from continuum.datasets import CIFARFellowship

dataset = CIFARFellowship("/my/data/path", train=True)
clloader = ClassIncremental(dataset, increment=10)

from continuum.

arthurdouillard avatar arthurdouillard commented on June 16, 2024

@mmderakhshani Thimothée has fixed our bug, you can now use Continuum for the cifar10/100 benchmark!

You can either pull master, or update the library via pip to the version 0.2.0.

Sorry again for the inconvenience.

If you find bugs, or have ideas for improvements, don't hesitate to create an issue or a pull request :)

from continuum.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.