Skip to main content

This repository contains code for the DiscoBench modular benchmark for automated algorithm discovery.

Project description

DiscoBench: An Open-Ended Benchmark For Algorithm Discovery

DiscoBench Logo

This repository contains code for the DiscoBench modular benchmark for automated algorithm discovery.

Quick Start

Install DiscoBench:

pip install discobench

List available domains:

discobench get-domains

Create a task:

discobench create-task --task-domain OnPolicyRL

See the full documentation for detailed usage.

Task Domains

Task Domain Modules Datasets Description
BayesianOptimisation acq_fn, acq_optimizer, domain, next_queries, surrogate, surrogate_optimizer 11 synthetic functions (Ackley, Branin, Bukin, Cosine, DropWave, EggHolder, Griewank, Hartmann, HolderTable, Levy). Optimization of black-box functions using surrogate models to find global minima/maxima.
BrainSpeechDetection loss, networks, optim 7 LibriBrain tasks. Detecting speech features directly from brain activity data.
ComputerVisionClassification loss, networks, optim, preprocess CIFAR10, CIFAR10C, CIFAR10LT, CIFAR100, FashionMNIST, MNIST, OxfordFlowers, StandfordCars, TinyImageNet. Image classification on a range of datasets.
ContinualLearning optim, regularizer, replay, sampler, scheduler PermutedMNIST, SplitCIFAR100, TinyImageNetSplit. Training a model on continually changing data, such that it can adapt to new data without losing old capabilities.
GreenhouseGasPrediction data_processing, model 4 Mauna Loa Time-series (CO2, N2O, SF6, CH4). Time-series forecasting of atmospheric greenhouse gas concentrations.
LanguageModelling loss, networks, optimizer OPCFineWebCode, OPCFineWebMath, LMFineWeb, TinyStories. Training transformer-based models on code, mathematics, and narrative text.
ModelUnlearning loss MUSE, TOFU, WMDP_Cyber. Fine-tuning pretrained models to remove specific knowledge or data points while retaining others.
OffPolicyRL q_update, policy, networks, optim, rb, train 4 MinAtar games. Value-based RL for training an agent in MinAtar.
OnPolicyRL loss, networks, optim, train 4 MinAtar, 7 Brax, 2 Craftax. Training an RL agent in a range of different RL environments using PPO-style algorithms.
UnsupervisedEnvironmentDesign sample_levels, train_step, train_loop, config 3 Kinetix sizes, Minigrid. Generating and curating training environments/levels to improve RL agent generalization.

Development Setup

1. Set Up Your Development Environment

Install the environment and the pre-commit hooks with:

make install

This will also generate your uv.lock file.

Contributing

We welcome contributions! DiscoBench grows stronger with more tasks and domains.

See CONTRIBUTING.md for detailed development guidelines.

Citation

If you use DiscoBench in your research, please cite:

@article{goldie2025discobench,
  title={DiscoBench: An Open-Ended Benchmark For Algorithm Discovery},
  author={Alexander D. Goldie and Zilin Wang and Adrian Hayler and Deepak Nathani and Edan Toledo and Ken Thampiratwong and Aleksandra Kalisz and Michael Beukman and Alistair Letcher and Shashank Reddy and Clarisse Wibault and Theo Wolf and Charles O'Neill and Jakob N. Foerster and Shimon Whiteson and Roberta Raileanu},
  year={2025}
}

License

DiscoBench is released under the MIT License.

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

discobench-0.0.1.tar.gz (1.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

discobench-0.0.1-py3-none-any.whl (588.6 kB view details)

Uploaded Python 3

File details

Details for the file discobench-0.0.1.tar.gz.

File metadata

  • Download URL: discobench-0.0.1.tar.gz
  • Upload date:
  • Size: 1.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.0

File hashes

Hashes for discobench-0.0.1.tar.gz
Algorithm Hash digest
SHA256 60678459bee14444f7cb51d9286f2e5b46f784b323c86ba5b3c49a959a141133
MD5 95c5d23bf2a43dbc7d5c302c04d45d96
BLAKE2b-256 6f1f6340abf28516a6ad7fc6416268b47676de7539ab3428b161481969d7833a

See more details on using hashes here.

File details

Details for the file discobench-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: discobench-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 588.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.0

File hashes

Hashes for discobench-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 98e60c46691d580af4b1d6448d2e0b75ff074b118bbf6e86e8ba5777a0a4f34d
MD5 6f5fda1ecc408f56a06d6e837c97df73
BLAKE2b-256 ba10a7201e51031b1b97019b488ff7657c63e2d3cc7c5321ce8e78fafb6ba600

See more details on using hashes here.

Supported by

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