A modular library for Bayesian optimization built on PyTorch, enabling efficient optimization of expensive black-box functions.
BoTorch is a library for Bayesian optimization built on PyTorch, designed to optimize expensive black-box functions efficiently. It provides a modular framework for composing Bayesian optimization primitives like probabilistic models and acquisition functions, leveraging PyTorch's auto-differentiation and GPU support. The library targets researchers and sophisticated practitioners who need flexible tools for implementing and experimenting with Bayesian optimization algorithms.
Researchers and sophisticated practitioners in Bayesian optimization and AI who require a low-level API for algorithm development and experimentation. End-users not actively researching Bayesian optimization are directed to use Ax, a higher-level platform built on BoTorch.
Developers choose BoTorch for its modular and extensible design, seamless PyTorch integration enabling GPU acceleration, and support for advanced probabilistic models via GPyTorch. It uniquely combines research flexibility with production-ready performance, making it ideal for cutting-edge Bayesian optimization projects.
Bayesian optimization in PyTorch
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides an easily extensible interface for composing Bayesian optimization primitives like models and acquisition functions, enabling rapid prototyping and research innovation.
Harnesses PyTorch's auto-differentiation and native GPU support for high-performance computations, making it efficient for large-scale optimization problems on modern hardware.
Supports Monte Carlo-based acquisition via the reparameterization trick, allowing implementation of new ideas without restrictive model assumptions, as highlighted in the README.
First-class integration with GPyTorch for state-of-the-art probabilistic models like multi-task Gaussian Processes and deep kernel learning, catering to cutting-edge research needs.
Currently in beta with active development, which means potential bugs, breaking changes, and less stability for production use, as warned in the README.
Designed as a low-level API for researchers, it requires deep expertise in Bayesian optimization and PyTorch, making it inaccessible for casual users or quick implementations.
Installation depends on multiple libraries like PyTorch, GPyTorch, and scipy, which can complicate setup and maintenance, especially in constrained environments.