/gpytorch

An implementation of Gaussian Processes in Pytorch

Primary LanguagePythonMIT LicenseMIT

GPyTorch (Pre-release, under development)

Build status

GPyTorch is a Gaussian Process library, implemented using PyTorch. It is designed for creating flexible and modular Gaussian Process models with ease, so that you don't have to be an expert to use GPs.

This package is currently under development, and is likely to change. Some things you can do right now:

Installation

Global installation

The easiest way to install GPyTorch is by installing the dependencies we require, PyTorch >= 0.3.0 and libfftw3 > 3.3.6 (source) using conda, and then installing GPyTorch using pip. This can be accomplished globally using one of the two sets of commands below depending on whether you want CUDA support.

For CUDA/GPU support, run:

conda install fftw cffi pytorch torchvision cuda80 -c conda-forge -c soumith
pip install git+https://github.com/jrg365/gpytorch.git

If you do not have or do not wish to use CUDA, instead run:

conda install fftw cffi pytorch torchvision -c conda-forge -c soumith
pip install git+https://github.com/jrg365/gpytorch.git

If you install libfftw3 from source, be sure to run configure with --enable-shared. To use packages globally but install GPyTorch as a user-only package, use pip install --user above.

Installation in a conda environment

We also provide two conda environment files, environment.yml and environment_cuda.yml. As an example, to install GPyTorch in a conda environment with cuda support, run:

git clone git+https://github.com/jrg365/gpytorch.git
conda create -f gpytorch/environment_cuda.yml
source activate gpytorch
pip install gpytorch/

Documentation

Still a work in progress. For now, please refer to the following example Jupyter notebooks.

Development

To run the unit tests:

python -m pytest

Acknowledgements

Development of GPyTorch is supported by funding from the Bill and Melinda Gates Foundation.