Skip to main content

Beobench is a toolbox for benchmarking reinforcement learning (RL) algorithms on building energy optimisation (BEO) problems.

Project description

Beobench Documentation Status License

A toolbox for benchmarking reinforcement learning (RL) algorithms on building energy optimisation (BEO) problems. Beobench tries to make working on RL for BEO easier: it provides simple access to existing libraries defining BEO problems (such as BOPTEST) and provides a large set of pre-configured RL algorithms. Beobench is not a gym library itself - instead it leverages the brilliant work done by many existing gym-type projects and makes their work more easily accessible.


Some of the features are work in progress

Main features

  • RL algorithm collection: what’s the best RL method for your BEO problem? Building on Ray RLlib, beobench provides a large collection of pre-configured RL algorithm experiments that can be easily applied to your new BEO problem.

  • Problem collection: beobench provides ready-to-use docker containers for popular BEO gym-type problem libraries. By enforcing a strict OpenAI gym.Env it makes testing your method on different libraries easy.

Additional features

  • Experiment logging: log experiment results in a reproducible and shareable manner via Weights and Biases.

  • Hyperparameter tuning: easily tune hyperparameters using the extensive Ray Tune Search API.

  • Simple installation: beobench can be installed via pip and only requires docker as an additional non-python dependency.

  • Easily extendable: beobench is designed for the user to add both environments and methods.


Run your first beobench experiment in three steps:

  1. Install docker on your machine (if on Linux, check the additional installation steps)

  2. Install beobench using:

    pip install beobench
  3. Finally, start your first experiment using:

    python -m beobench.experiment.scheduler

Done, you have just started your first experiment… congrats! Check out the full getting started guide in the documentation for the next steps.



MIT license


This package was originally created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.


0.3.0 (2022-02-14)

  • Add complete redesign of CLI: main command changed from python -m beobench.experiment.scheduler to beobench run.

  • Add support for energym environments

  • Add support for MLflow experiment tracking

  • Add support for custom agents

0.2.1 (2022-02-03)

  • Add integration with sinergym

  • Move gym integrations to separate beobench_contrib repo

  • Make usage of GPUs in containers optional

0.2.0 (2022-01-18)

  • Enable adding custom environments to beobench with docker build context-based syntax

  • Save experiment results on host machine

  • Major improvements to documentation

  • Remove unnecessary wandb arguments in main CLI

0.1.0 (2022-01-10)

  • First release on PyPI.

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

beobench-0.3.0.tar.gz (2.9 MB view hashes)

Uploaded source

Built Distribution

beobench-0.3.0-py2.py3-none-any.whl (20.4 kB view hashes)

Uploaded py2 py3

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