-
Notifications
You must be signed in to change notification settings - Fork 411
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Adjustments to setup.py and README for torch Sobol (#20)
Summary: Pull Request resolved: facebook/Ax#20 Pull Request resolved: #55 Using the torch native SobolEngine makes things a lot simpler for botorch. ax still uses the cython SobolEngine for a lot of things outside torch land. Reviewed By: danielrjiang Differential Revision: D14946543 fbshipit-source-id: b2b0ea09a5ea7dc29ecb2a24e7ecdc279d168943
- Loading branch information
1 parent
bd78f68
commit b28317c
Showing
4 changed files
with
99 additions
and
65 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,47 +1,91 @@ | ||
<img width="300" src="./botorch_logo_lockup.svg" alt="BoTorch Logo" /> | ||
<a href="https://botorch.org"> | ||
<img width="300" src="./botorch_logo_lockup.svg" alt="BoTorch Logo" /> | ||
</a> | ||
|
||
[![Build Status]( | ||
https://travis-ci.com/facebookexternal/botorch.svg?token=esFvpzSw7sLSsfe1PAr1&branch=master | ||
)](https://travis-ci.com/facebookexternal/botorch) | ||
|
||
|
||
BoTorch is a library for Bayesian Optimization in PyTorch. | ||
BoTorch is a library for Bayesian Optimization built on PyTorch. | ||
|
||
It is currently an alpha version under active development - be warned! | ||
*BoTorch is currently in alpha and under active development - be warned*! | ||
|
||
|
||
## Installation | ||
### Why BoTorch | ||
BoTorch | ||
* Provides a modular and easily extensible interface for composing Bayesian | ||
optimization primitives, including probabilistic models, acquisition functions, | ||
and optimizers. | ||
* Harnesses the power of PyTorch, including auto-differentiation, native support | ||
for highly parallelized modern hardware (e.g. GPUs) using device-agnostic code, | ||
and a dynamic computation graph. | ||
* Supports Monte Carlo-based acquisition functions via the | ||
[reparameterization trick](https://arxiv.org/abs/1312.6114), which makes it | ||
straightforward to implement new ideas without having to impose restrictive | ||
assumptions about the underlying model. | ||
* Enables seamless integration with deep and/or convolutional architectures in PyTorch. | ||
* Has first-class support for state-of-the art probabilistic models in | ||
[GPyTorch](http://www.gpytorch.ai/), including support for multi-task Gaussian | ||
Processes (GPs) deep kernel learning, deep GPs, and approximate inference. | ||
|
||
##### Setup Requirements (TODO: Remove once we can use torch Sobol) | ||
|
||
The following are required to run the setup: | ||
### Target Audience | ||
|
||
- Python >= 3.6 | ||
- numpy | ||
- cython | ||
The primary audience for hands-on use of BoTorch are researchers and | ||
sophisticated practitioners in Bayesian Optimization and AI. | ||
|
||
We recommend using BoTorch as a low-level API for implementing new algorithms | ||
for [Ax](https://github.com/facebook/Ax). Ax has been designed to be | ||
an easy-to-use platform for end-users, which at the same time is flexible enough | ||
for Bayesian Optimization researchers to plug into for handling of feature | ||
transformations, (meta-)data management, storage, etc. | ||
|
||
We recommend that end-users who are not actively doing research on Bayesian | ||
Optimization simply use Ax. | ||
|
||
##### Installation Requirements | ||
|
||
- PyTorch >= 1.0.1 | ||
- gpytorch >= 0.3.0 | ||
## Installation | ||
|
||
#### Installation Requirements | ||
|
||
- Python >= 3.6 | ||
- PyTorch nightly (**TODO:** peg to PyTorch 1.1 once released) | ||
- gpytorch >= 0.3.1 (**TODO:** peg to GPyTorch 0.3.2 once released) | ||
- scipy | ||
|
||
**Important:** | ||
You will want to have you PyTorch build link against **MKL** (the non-optimized | ||
version of botorch can be up to an order of magnitude slower). Setting this up | ||
manually can be tricky - to make sure this works please use the Anaconda | ||
installation instructions on https://pytorch.org/. | ||
**Important note for MacOS users:** | ||
* You will want to make sure your PyTorch build is linked against MKL (the | ||
non-optimized version of BoTorch can be up to an order of magnitude slower in | ||
some settings). Setting this up manually on MacOS can be tricky - to ensure | ||
this works properly please follow the | ||
[PyTorch installation instructions](https://pytorch.org/get-started/locally/). | ||
* If you need CUDA on MacOS, you will need to build PyTorch from source. Please | ||
consult the PyTorch installation instructions above. | ||
|
||
|
||
### Install botorch | ||
#### Installing BoTorch | ||
|
||
To run the botorch setup, you'll need cython (**TODO:** Remove) | ||
The latest release of BoTorch is easily installed using either pip or conda: | ||
```bash | ||
pip install cython | ||
pip install botorch | ||
``` | ||
|
||
We recommend installing botorch using pip via ssh: | ||
**TODO: Conda install** | ||
|
||
|
||
If you'd like to try our bleeding edge features (and don't mind running into an | ||
occasional bug here or there), you can install the latest master from GitHub | ||
(this will also require installing the current GPyTorch master):: | ||
```bash | ||
pip install git+https://github.com/cornellius-gp/gpytorch.git | ||
pip install git+https://github.com/facebookexternal/botorch.git | ||
``` | ||
|
||
|
||
#### Installing BoTorch from the private repo **TODO: REMOVE** | ||
|
||
BoTorch is easily installed using pip: | ||
```bash | ||
pip install git+ssh://[email protected]/facebookexternal/botorch.git | ||
``` | ||
|
@@ -63,14 +107,9 @@ To customize the installation, you can also run the following instead: | |
|
||
|
||
|
||
## Installation using conda | ||
|
||
**TODO: conda install is unsupported until the repo is public** | ||
|
||
|
||
## Contributing | ||
See the [CONTRIBUTING](CONTRIBUTING.md) file for how to help out. | ||
|
||
|
||
## License | ||
botorch is MIT licensed, as found in the LICENSE file. | ||
BoTorch is MIT licensed, as found in the LICENSE file. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters