High-Dimentional Bayesian Benchmark (HDBO-B)
Project description
HDBO-B: Benchmark for High Dimensional Bayesian Optimization
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 Miniconda 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
Some realistic tasks and methods may require extra packages, please check requirements.txt and instructions in HDBOBenchmark/funcs/realistic/().py.
: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
Realistic Functions
Available realistic functions including:
(Additional installation may be required to run these library, please check related instructions in our codes.)
- MIPLIB, the real-world pure and mixed integer programs.
MIPLIB 2017: Data-Driven Compilation of the 6th Mixed-Integer Programming Library. Mathematical Programming Computation, 2021.
from HDBOBenchmark import MPSModel
func = MPSModel(mps_path='revised-submissions/miplib2010_publically_available/instances/markshare_4_0.mps.gz',
solu_path='miplib2017-v26.solu')
- LassoBench, a library for high-dimensional hyperparameter optimization benchmarks based on Weighted Lasso regression.
Šehić Kenan, Gramfort Alexandre, Salmon Joseph and Nardi Luigi, "LassoBench: A High-Dimensional Hyperparameter Optimization Benchmark Suite for Lasso", Proceedings of the 1st International Conference on Automated Machine Learning, 2022.
from HDBOBenchmark import LassoBenchmark
func = LassoBenchmark(benchname='synt_simple')
- py-pde, a Python package for solving partial differential equations (PDEs). We implemented the Brusselator with spatial coupling, a realistic calculation problem according to the official example and one existing setting. For BO, we additionally set the objective as minium the maximum average density of u,v in the grid at the last time t, as in this case the objective is one value.
https://py-pde.readthedocs.io/en/latest/examples_gallery/pde_brusselator_expression.html https://github.com/bhouri0412/rpn_bo
from HDBOBenchmark.funcs.realistic.pde import Brusselator
func = Brusselator()
Neural networks for topology optimization, arXiv preprint arXiv:1709.09578, 2017. Grosnit, Antoine, et al. "High-Dimensional Bayesian Optimisation with Variational Autoencoders and Deep Metric Learning." arXiv preprint arXiv:2106.03609 (2021).
from HDBOBenchmark import Topology
func = Topology()
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
2025.04.06 > v0.2.0 :fire:
- Added HPOBench and BBOB synthetic functions. Paper accepted by IJCNN 2025.
2023.06.06 > v0.1.1
- 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.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file hdbo_b-0.2.0.tar.gz.
File metadata
- Download URL: hdbo_b-0.2.0.tar.gz
- Upload date:
- Size: 64.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.2 CPython/3.9.17 Windows/10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5d68a20e9d9fa4923ac23e1acaec5886896490bb8a02bba23f202745548ab34c
|
|
| MD5 |
942d145c8e5d09f1a0233c79d063b188
|
|
| BLAKE2b-256 |
cfecc7765b9a3e4d03dd29e85636c536018a07427ee0e6f98b9fd27485d0d796
|
File details
Details for the file hdbo_b-0.2.0-py3-none-any.whl.
File metadata
- Download URL: hdbo_b-0.2.0-py3-none-any.whl
- Upload date:
- Size: 123.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.2 CPython/3.9.17 Windows/10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
92fa88f425cb8a4d8097fe5be81cbeee2d35fbd4eac21b6547738e7c4f2f2ded
|
|
| MD5 |
c778fa15c7ea882231366e5941b6b32f
|
|
| BLAKE2b-256 |
512f557a0785f775f88bd4147179998450fe2cfec7300e878782deb5ddefb9d6
|