Overview of Examples
examples directory provides numerous ipython notebooks that demonstrate the use of GPyTorch.
- Getting started
- Specialty Models/Tasks
- Scalable GP Regression Models
- Scalable GP Classification Models
- Deep Kernel Learning
These are no-frills GP models, which will work in most small data applications. If you are looking to get familiar with GPyTorch, start here.
- Regression - check out the simple regression example
- Classification - check out the simple classification example
Some advanced techniques that you can apply to soup up these simple models:
- GPU Acceleration - see how to use CUDA with GPyTorch
- Fast Predictive Variances w/ LOVE - see how to get really fast predictions with LOVE
Specialty Models and Tasks
- Multitask GP Regression - check out the examples in the multitask GP folder
- Bayesian Optimization - example coming soon!
Scalable GP Regression Models
If you have more than ~1,000 training data points, the simple GP models might start acting a bit slow. There are multiple methods to scale up GP regression, and the correct choice depends on your application. GPyTorch supports the following inducing point methods:
- KISS-GP Regression - more info
- A simple KISS-GP example for one-dimensional data
- An example for low-dimensional data
- An example that combines KISS-GP with Deep Kernel Learning
- And more!
- SGPR - more info
- Example coming soon!
While there are lots of different choices, switching between methods requires a quick one-line change to your model. In addition, it is fairly straightforward to create your own custom scalable GP method. (Tutorial coming soon!) This is especially useful if your data is structured (e.g. if your data lies on a regularly-spaced grid).
Additionally, it is possible to use stochastic variational inference for regression problems. This is useful if you have an extremely large dataset. Some examples:
- A 1D example combining KISS-GP and stochastic variational inference
- An example combining KISS-GP, Deep Kernel Learning, and stochastic variational inference
Scalable GP Classification Models
There are multiple methods for scalable GP classification, and the correct choice depends on your application. Some examples:
- KISS-GP Classification
Deep Kernel Learning
GPyTorch seemlessly integrates with PyTorch, making it extremely easy to combine GPs with neural networks. The following examples use Deep Kernel Learning: