High-Dimentional Bayesian Benchmark (HDBO-B)
Project description
HDBO-B: High Dimensional Bayesian Optimization Benchmark
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.
- Python implementation of Add-GP-UCB
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.
- Wrapper of ALEBO
Letham B, Calandra R, Rai A, et al. Re-examining linear embeddings for high-dimensional Bayesian optimization. Advances in neural information processing systems, 2020.
- Wrapper of TuRBO
Eriksson D, Pearce M, Gardner J, et al. Scalable global optimization via local bayesian optimization. Advances in neural information processing systems, 2019.
- Wrapper of SAASBO
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.