GPflowOpt is a library for Bayesian Optimization with GPflow. It makes use of TensorFlow for computation of acquisition functions, to offer scalability, and avoid implementation of gradients. The package was created, and is currently maintained by Joachim van der Herten and Ivo Couckuyt
The project is open source: if you feel you have some relevant skills and are interested in contributing then please contact us on GitHub by opening an issue or pull request.
- Install package
A straightforward way to install GPflowOpt is to clone its repository and run
pip install . --process-dependency-links
in the root folder. This also installs required dependencies including TensorFlow. For alternative TensorFlow installations (e.g., gpu), please see the instructions on the main TensorFlow webpage.
GPflowOpt is a pure python library so you could just add it to your python path. We use
pip install -e . --process-dependency-links
For testing, GPflowOpt uses nox to automatically create a virtualenv and install the additional test dependencies. To install nox:
pip install nox-automation
to run all test sessions.
To build the documentation, first install the extra dependencies with
pip install -e .[docs]. Then proceed with
python setup.py build_sphinx.
A simple example of Bayesian optimization to get up and running is provided by the first steps into Bayesian optimization notebook
To cite GPflowOpt, please reference the preliminary arXiv paper. Sample Bibtex is given below:
Joachim van der Herten and Ivo Couckuyt are Ghent University - imec postdoctoral fellows. Ivo Couckuyt is supported by FWO Vlaanderen.