<!--
* @Author : yiyuiii
* @Date : 2023-06-03 20:00:00
* @LastEditors : yiyuiii
* @LastEditTime : 2023-06-06 20:00:00
* @Description : None
* @GitHub : https://github.com/yiyuiii/HDBO-B
-->
<!-- markdownlint-disable MD033 MD036 MD041 -->
<div align="center">
# HDBO-B: High Dimensional Bayesian Optimization Benchmark
</div>
<p align="center">
<a href="https://raw.githubusercontent.com/Yiyuiii/HDBO-B/master/LICENSE"><img src="https://img.shields.io/github/license/Yiyuiii/HDBO-B.svg" alt="license"></a>
<a href="https://pypi.python.org/pypi/HDBO-B"><img src="https://img.shields.io/pypi/v/HDBO-B.svg" alt="pypi"></a>
<a href="https://github.com/psf/black"><img alt="Code style: black" src="https://img.shields.io/badge/code%20style-black-000000.svg"></a>
<img src="https://img.shields.io/badge/python-3.8+-blue.svg" alt="python">
</p>
**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](https://www.anaconda.com/) 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:
```python
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](https://github.com/pytorch/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](https://github.com/huawei-noah/HEBO/tree/master/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](https://github.com/kirthevasank/add-gp-bandits)
> 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](https://github.com/ziyuw/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](https://github.com/facebookresearch/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](https://github.com/uber-research/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](https://github.com/martinjankowiak/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.
Raw data
{
"_id": null,
"home_page": "https://github.com/yiyuiii/hdbo-b",
"name": "hdbo-b",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8,<4.0",
"maintainer_email": "",
"keywords": "hdbo,benchmark",
"author": "yiyuiii",
"author_email": "yiyuiii@foxmail.com",
"download_url": "https://files.pythonhosted.org/packages/17/3e/c01bbcb6983882f9d9fa84910f48ccf636fcf92a6359325630d3ca539e5f/hdbo_b-0.1.1.tar.gz",
"platform": null,
"description": "<!--\n * @Author : yiyuiii\n * @Date : 2023-06-03 20:00:00\n * @LastEditors : yiyuiii\n * @LastEditTime : 2023-06-06 20:00:00\n * @Description : None\n * @GitHub : https://github.com/yiyuiii/HDBO-B\n-->\n\n<!-- markdownlint-disable MD033 MD036 MD041 -->\n\n<div align=\"center\">\n\n# HDBO-B: High Dimensional Bayesian Optimization Benchmark\n\n</div>\n\n<p align=\"center\">\n<a href=\"https://raw.githubusercontent.com/Yiyuiii/HDBO-B/master/LICENSE\"><img src=\"https://img.shields.io/github/license/Yiyuiii/HDBO-B.svg\" alt=\"license\"></a>\n<a href=\"https://pypi.python.org/pypi/HDBO-B\"><img src=\"https://img.shields.io/pypi/v/HDBO-B.svg\" alt=\"pypi\"></a>\n<a href=\"https://github.com/psf/black\"><img alt=\"Code style: black\" src=\"https://img.shields.io/badge/code%20style-black-000000.svg\"></a>\n<img src=\"https://img.shields.io/badge/python-3.8+-blue.svg\" alt=\"python\">\n</p>\n\n**HDBO-B**, a generalized and unified benchmark for High Dimensional Bayesian Optimization, is including testing functions, example algorithms and more examples. \n\n## :gear: Installation\n\nWe recommend using [CONDA](https://www.anaconda.com/) to isolate Python environments and their packages, this protects you from potential package version conflicts.\n\nTo install HDBO-B package, choose one below:\n\n- `git clone https://github.com/yiyuiii/HDBO-B && cd HDBO-B && pip install -e .` (You may get example codes **ONLY** by this way.)\n- `pip install hdbo-b`\n- `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`\n\nIn case we use HEBO 0.3.5 for experiments and there is 0.3.2 on PyPI currently, user should manually install:\n- `git clone https://github.com/huawei-noah/HEBO && cd HEBO/HEBO && pip install -e .`\n\n## :rocket: Quick Start\n\nUncomment lines in `test.py`, and run `python test.py`.\n\nUser may also check codes in folder `./example`.\n\n## :wrench: Details\n\n### Test Functions\n\nTo import hand-designed 30 test functions: \n\n```python\nfrom HDBOBenchmark import TestFuncs as func_list\n```\n\nWe have designed a stricter framework for functions and algorithms, \nThis brings a lot of convenience to scaling, while there are a bit more difficulties in getting started.\nCheck them out in\n- `./HDBOBenchmark/base/FunctionBase.py`\n- `./HDBOBenchmark/AdditiveFunction.py`\n- `./example/wrapper/hebo_wrapper.py`\n\n### Bayesian Optimization Algorithms\n\nAlgorithms can be found in `./examples/algorithms` (more original) and `./examples/wrapper` (directly imported by `./examples/optimize.py`), including\n\n- GP(Gaussian Process) + UCB(Upper Confidence Bound) Implementation with [BOTorch](https://github.com/pytorch/botorch)\n> 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.\n\n- GP/GPy(warped GP)/gumbel/... + MACE(Multi-objective ACquisition function Ensemble) with [HEBO](https://github.com/huawei-noah/HEBO/tree/master/HEBO)\n> Cowen-Rivers, Alexander I., et al. HEBO: Pushing The Limits of Sample-Efficient Hyperparameter Optimisation. Journal of Artificial Intelligence Research, 2022.\n\n- Python implementation of [Add-GP-UCB](https://github.com/kirthevasank/add-gp-bandits)\n> Kandasamy K, Schneider J, P\u00f3czos B. High dimensional Bayesian optimisation and bandits via additive models. International conference on machine learning, 2015.\n\n- Python implementation of [REMBO](https://github.com/ziyuw/rembo)\n> Wang Z, Hutter F, Zoghi M, et al. Bayesian optimization in a billion dimensions via random embeddings. Journal of Artificial Intelligence Research, 2016.\n\n- Wrapper of [ALEBO](https://github.com/facebookresearch/alebo)\n> Letham B, Calandra R, Rai A, et al. Re-examining linear embeddings for high-dimensional Bayesian optimization. Advances in neural information processing systems, 2020.\n\n- Wrapper of [TuRBO](https://github.com/uber-research/TuRBO)\n> Eriksson D, Pearce M, Gardner J, et al. Scalable global optimization via local bayesian optimization. Advances in neural information processing systems, 2019.\n\n- Wrapper of [SAASBO](https://github.com/martinjankowiak/saasbo)\n> Eriksson D, Jankowiak M. High-dimensional Bayesian optimization with sparse axis-aligned subspaces. Uncertainty in Artificial Intelligence, 2021.\n\n`./examples/optimize.py` saves optimizing histories in folder `./result`, which are automatically read by `./example/plot_result.py`.\n\n## :speech_balloon: Common Issues\n\n## :triangular_flag_on_post: TODO List\n\n- [ ] Introducing more realistic test functions\n\n- [ ] Introducing VAE-based algorithms and related datasets needed\n\n## :microscope: Cite Us\n\n## :clipboard: Changelog\n\n#### 2023.06.06 > v0.1.1 :fire:\n- Fixed logging.\n\n#### 2023.06.03 > v0.1.0\n- Initialization.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "High-Dimentional Bayesian Benchmark (HDBO-B)",
"version": "0.1.1",
"project_urls": {
"Documentation": "https://github.com/yiyuiii/hdbo-b#readme",
"Homepage": "https://github.com/yiyuiii/hdbo-b",
"Repository": "https://github.com/yiyuiii/hdbo-b"
},
"split_keywords": [
"hdbo",
"benchmark"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "dcf9507e127f7c968cff7135b41e86347d0926521077736b32ef7ae08a08f533",
"md5": "98a49ceaf92fe361a804f76193461926",
"sha256": "bb4d6b4b96ecf470bf02ff9c62bf9fe008fc0a583f70ae69a602a5952705adad"
},
"downloads": -1,
"filename": "hdbo_b-0.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "98a49ceaf92fe361a804f76193461926",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8,<4.0",
"size": 15494,
"upload_time": "2023-06-05T18:32:23",
"upload_time_iso_8601": "2023-06-05T18:32:23.232343Z",
"url": "https://files.pythonhosted.org/packages/dc/f9/507e127f7c968cff7135b41e86347d0926521077736b32ef7ae08a08f533/hdbo_b-0.1.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "173ec01bbcb6983882f9d9fa84910f48ccf636fcf92a6359325630d3ca539e5f",
"md5": "c5ea74e36223886ee8c78a9507d55098",
"sha256": "85430e82caa5196af9332c89025404bb8d0ab2a73ee60028ac6b3497704ac9a0"
},
"downloads": -1,
"filename": "hdbo_b-0.1.1.tar.gz",
"has_sig": false,
"md5_digest": "c5ea74e36223886ee8c78a9507d55098",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8,<4.0",
"size": 9001,
"upload_time": "2023-06-05T18:32:24",
"upload_time_iso_8601": "2023-06-05T18:32:24.985966Z",
"url": "https://files.pythonhosted.org/packages/17/3e/c01bbcb6983882f9d9fa84910f48ccf636fcf92a6359325630d3ca539e5f/hdbo_b-0.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-06-05 18:32:24",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "yiyuiii",
"github_project": "hdbo-b",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [],
"lcname": "hdbo-b"
}