Skip to main content

High-Dimentional Bayesian Benchmark (HDBO-B)

Project description

HDBO-B: High Dimensional Bayesian Optimization Benchmark

license pypi Code style: black python

HDBO-B, a generalized and unified benchmark for High Dimensional Bayesian Optimization, is including testing functions, example algorithms and more examples.

:gear: Installation

We recommend using CONDA to isolate Python environments and their packages, this protects you from potential package version conflicts.

To install HDBO-B package, choose one below:

  • git clone https://github.com/yiyuiii/HDBO-B && cd HDBO-B && pip install -e . (You may get example codes ONLY by this way.)
  • pip install hdbo-b
  • wget https://github.com/Yiyuiii/HDBO-B/releases/download/whl/hdbo_b-0.1.0-py3-none-any.whl && pip install hdbo_b-0.1.0-py3-none-any.whl

In case we use HEBO 0.3.5 for experiments and there is 0.3.2 on PyPI currently, user should manually install:

  • git clone https://github.com/huawei-noah/HEBO && cd HEBO/HEBO && pip install -e .

:rocket: Quick Start

Uncomment lines in test.py, and run python test.py.

User may also check codes in folder ./example.

:wrench: Details

Test Functions

To import hand-designed 30 test functions:

from HDBOBenchmark import TestFuncs as func_list

We have designed a stricter framework for functions and algorithms, This brings a lot of convenience to scaling, while there are a bit more difficulties in getting started. Check them out in

  • ./HDBOBenchmark/base/FunctionBase.py
  • ./HDBOBenchmark/AdditiveFunction.py
  • ./example/wrapper/hebo_wrapper.py

Bayesian Optimization Algorithms

Algorithms can be found in ./examples/algorithms (more original) and ./examples/wrapper (directly imported by ./examples/optimize.py), including

  • GP(Gaussian Process) + UCB(Upper Confidence Bound) Implementation with BOTorch

M. Balandat, B. Karrer, D. R. Jiang, S. Daulton, B. Letham, A. G. Wilson, and E. Bakshy. BoTorch: A Framework for Efficient Monte-Carlo Bayesian Optimization. Advances in Neural Information Processing Systems 33, 2020.

  • GP/GPy(warped GP)/gumbel/... + MACE(Multi-objective ACquisition function Ensemble) with HEBO

Cowen-Rivers, Alexander I., et al. HEBO: Pushing The Limits of Sample-Efficient Hyperparameter Optimisation. Journal of Artificial Intelligence Research, 2022.

Kandasamy K, Schneider J, Póczos B. High dimensional Bayesian optimisation and bandits via additive models. International conference on machine learning, 2015.

  • Python implementation of REMBO

Wang Z, Hutter F, Zoghi M, et al. Bayesian optimization in a billion dimensions via random embeddings. Journal of Artificial Intelligence Research, 2016.

Letham B, Calandra R, Rai A, et al. Re-examining linear embeddings for high-dimensional Bayesian optimization. Advances in neural information processing systems, 2020.

Eriksson D, Pearce M, Gardner J, et al. Scalable global optimization via local bayesian optimization. Advances in neural information processing systems, 2019.

Eriksson D, Jankowiak M. High-dimensional Bayesian optimization with sparse axis-aligned subspaces. Uncertainty in Artificial Intelligence, 2021.

./examples/optimize.py saves optimizing histories in folder ./result, which are automatically read by ./example/plot_result.py.

:speech_balloon: Common Issues

:triangular_flag_on_post: TODO List

  • Introducing more realistic test functions

  • Introducing VAE-based algorithms and related datasets needed

:microscope: Cite Us

:clipboard: Changelog

2023.06.06 > v0.1.1 :fire:

  • Fixed logging.

2023.06.03 > v0.1.0

  • Initialization.

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

hdbo_b-0.1.1.tar.gz (9.0 kB view hashes)

Uploaded Source

Built Distribution

hdbo_b-0.1.1-py3-none-any.whl (15.5 kB view hashes)

Uploaded Python 3

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