GPflowOpt: A Bayesian Optimization Library using TensorFlow
This provides a scalable and extensible tool for researchers and practitioners using Bayesian optimization, though it is incremental as it builds on existing GPflow and TensorFlow libraries.
The authors introduced GPflowOpt, a Python framework for Bayesian optimization that leverages TensorFlow's automatic differentiation, parallelization, and GPU capabilities. The framework is designed to be extensible with custom acquisition functions and models, and includes standard single-objective functions, state-of-the-art max-value entropy search, and a Bayesian multi-objective approach.
A novel Python framework for Bayesian optimization known as GPflowOpt is introduced. The package is based on the popular GPflow library for Gaussian processes, leveraging the benefits of TensorFlow including automatic differentiation, parallelization and GPU computations for Bayesian optimization. Design goals focus on a framework that is easy to extend with custom acquisition functions and models. The framework is thoroughly tested and well documented, and provides scalability. The current released version of GPflowOpt includes some standard single-objective acquisition functions, the state-of-the-art max-value entropy search, as well as a Bayesian multi-objective approach. Finally, it permits easy use of custom modeling strategies implemented in GPflow.