A Python library for Bayesian optimization using GPflow and TensorFlow, designed for optimizing expensive black-box functions.
GPflowOpt is a Python library for Bayesian optimization that uses GPflow and TensorFlow to optimize expensive black-box functions. It provides a framework for defining optimization domains, acquisition functions, and strategies to efficiently find optimal solutions with minimal evaluations. The library is particularly useful for tasks where function evaluations are costly, such as hyperparameter tuning or experimental design.
Machine learning researchers and practitioners who need to optimize expensive functions, such as hyperparameters of deep learning models or parameters in scientific simulations. It's also suitable for developers working on automated experimental design or black-box optimization problems.
GPflowOpt offers a modular and extensible Bayesian optimization framework built on the robust Gaussian process capabilities of GPflow, with TensorFlow enabling scalable computations. Its integration with GPflow allows for flexible probabilistic modeling, making it a powerful tool for efficient global optimization compared to generic optimization libraries.
Bayesian Optimization using GPflow
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Built directly on GPflow, allowing users to leverage its robust probabilistic modeling capabilities for custom Gaussian process kernels and likelihoods, as stated in the README's emphasis on GPflow integration.
Uses TensorFlow for scalable and GPU-accelerated computations, enabling efficient handling of large datasets and complex optimizations, as highlighted in the documentation and features.
Supports continuous, discrete, and mixed-variable domains, making it versatile for various black-box optimization problems, as noted in the key features.
Includes popular acquisition functions like Expected Improvement and Probability of Improvement, with a framework for extensibility, aligning with the philosophy of modularity.
Specifically designed for GPflow 1, making it incompatible with the newer GPflow 2 and limiting access to recent advancements, as the README explicitly notes and directs users to Trieste.
Requires cloning the repository and using pip with --process-dependency-links, which can be error-prone and less straightforward than standard package installations, as detailed in the install instructions.
The README points to Trieste for GPflow 2 usage, indicating reduced maintenance and potential lack of updates, which may affect long-term viability and bug fixes.