Skip to main content

The Continual Transfer Learning Benchmark

Project description

Continual Transfer Learning Benchmark

The CTrL benchmark aims to help research by studying the transfer behaviour of different models in the Lifelong Learning context.

For a quick presentation of the benchmark, please check out this blog post.

For more details, the paper is available on arxiv.

Creating a Stream:

The TaskGenerator class is at the center of the implementation of the CTrL Benchmark. It gives access to a high-level API allowing to seamlessly generate a wide variety of streams with a loose coupling between the different components such as the underlying dataset(s), the strategy to generate the tasks (split, incremental, mixture of datasets, ...) and the processing to apply to each task.

The 3 main components of a Task Generator are:

  • A pool of concepts to select from to generate the tasks. It can be a few classes, a full dataset or even a mixture of datasets.
  • A pool of transformation that can be modified or combined to apply specific processing to the data for each task.
  • A Strategy, describing how to combine the conecpts and trasnformation over time to generate an actual stream.

Each of these components can be created by hand or using our automatic TaskGenerator creation tool using yaml configuration files.

For examples simply executing

import ctrl
task_gen = CTrl.get_stream('s_minus')

will return the corresponding task generator that be used either directy to generate tasks on the fly:

t1 = task_gen.add_task()
t2 = task_gen.add_task()
t3 = task_gen.add_task()
...

or as an iterator:

for t in task_gen():
    ...

Available streams:

In the current version, only the streams of the CTrL benchmark are directly available, they can be obtained by passing the following name arguments in ctrl.get_stream:

  • S+: "s_plus"
  • S-: "s_minus"
  • Sin: "s_in"
  • Sout: "s_out"
  • Spl: "s_pl"
  • Slong: "s_long"

More documentation and details on the internal components will be progressively added.

See the CONTRIBUTING file for how to help out.

LICENSE

See the LICENSE file.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ctrl-bench-0.0.3.tar.gz (35.2 kB view details)

Uploaded Source

Built Distribution

ctrl_bench-0.0.3-py3-none-any.whl (50.8 kB view details)

Uploaded Python 3

File details

Details for the file ctrl-bench-0.0.3.tar.gz.

File metadata

  • Download URL: ctrl-bench-0.0.3.tar.gz
  • Upload date:
  • Size: 35.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.8

File hashes

Hashes for ctrl-bench-0.0.3.tar.gz
Algorithm Hash digest
SHA256 3ff103001076c0ebfebd24f45e2a990a9754398250e342ee2325a893bf5d5fa9
MD5 cc01e6c3e005a17bb3bdae1403f13988
BLAKE2b-256 89807ec0fd0196bfce87c6f5b14b1f765c137aa8d2d455168a1ecb447145e5cf

See more details on using hashes here.

File details

Details for the file ctrl_bench-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: ctrl_bench-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 50.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.8

File hashes

Hashes for ctrl_bench-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 a50d8f213a3d79b1e6a45f3cd222844d3c08a9bc62dd75a46c4155135fddcbbd
MD5 711464a5d4f7572a54d9ec70d4fcc58b
BLAKE2b-256 ee8b843e77ae62adae46c6ee0597761e8adb8c86407564bcbae03066842e1697

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page