hdbo-b


Namehdbo-b JSON
Version 0.1.1 PyPI version JSON
download
home_pagehttps://github.com/yiyuiii/hdbo-b
SummaryHigh-Dimentional Bayesian Benchmark (HDBO-B)
upload_time2023-06-05 18:32:24
maintainer
docs_urlNone
authoryiyuiii
requires_python>=3.8,<4.0
licenseMIT
keywords hdbo benchmark
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <!--
 * @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"
}
        
Elapsed time: 0.09464s