meta-pytorch/botorch
Bayesian optimization in PyTorch
What it solves
BoTorch provides a modular framework for Bayesian Optimization, allowing users to efficiently find the optimal parameters of expensive-to-evaluate functions. It simplifies the process of composing probabilistic models, acquisition functions, and optimizers to perform optimization loops.
How it works
Built on PyTorch, BoTorch leverages auto-differentiation and GPU acceleration to optimize acquisition functions. It uses Monte Carlo-based acquisition functions via the reparameterization trick, which allows it to work with a wide variety of probabilistic models without restrictive assumptions. It integrates seamlessly with GPyTorch for state-of-the-art probabilistic models like Gaussian Processes (GPs), as well as deep and convolutional architectures.
Who it’s for
Researchers and sophisticated practitioners in Bayesian Optimization and AI who need a low-level API to implement new algorithms. For end-users who are not doing active research, the project recommends using Ax.
Highlights
- Modular interface for composing Bayesian optimization primitives.
- Native PyTorch support for GPU acceleration and dynamic computation graphs.
- Support for Monte Carlo-based acquisition functions.
- First-class integration with GPyTorch for multi-task GPs, deep kernel learning, and deep GPs.
Related
- Project
- Project
- Project
- Project
- Project