Skip to main content

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.

Metadata

Release files for ctrl-bench 0.0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ctrl-bench 0.0.3
File Size Uploaded Provenance Actions
ctrl-bench-0.0.3.tar.gz 35.2 kB Without provenance Details for ctrl-bench-0.0.3.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for ctrl-bench 0.0.3
File Interpreter ABI Platform Actions
ctrl_bench-0.0.3-py3-none-any.whl Python 3 none any Details for ctrl_bench-0.0.3-py3-none-any.whl

Total release size: 86.0 kB

Release files / ctrl-bench-0.0.3.tar.gz

Download URL ctrl-bench-0.0.3.tar.gz
Size 35.2 kB
Tags Source
SHA-256 checksum
How to use checksums
3ff103001076c0ebfebd24f45e2a990a9754398250e342ee2325a893bf5d5fa9
BLAKE2b-256 checksum
How to use checksums
89807ec0fd0196bfce87c6f5b14b1f765c137aa8d2d455168a1ecb447145e5cf
Upload date
Uploaded using Trusted Publishing?
What is 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

Release files / ctrl_bench-0.0.3-py3-none-any.whl

Download URL ctrl_bench-0.0.3-py3-none-any.whl
Size 50.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a50d8f213a3d79b1e6a45f3cd222844d3c08a9bc62dd75a46c4155135fddcbbd
BLAKE2b-256 checksum
How to use checksums
ee8b843e77ae62adae46c6ee0597761e8adb8c86407564bcbae03066842e1697
Upload date
Uploaded using Trusted Publishing?
What is 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

Security for ctrl-bench 0.0.3

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.0.3 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page