Pyro Integration¶
GPyTorch can optionally work with the Pyro probablistic programming language. This makes it possible to use Pyro’s advanced inference algorithms, or to incorporate GPs as part of larger probablistic models. GPyTorch offers two ways of integrating with Pyro:
High-level Pyro Interface (for predictive models)¶
The high-level interface provides a simple wrapper around ApproximateGP
that makes it
possible to use Pyro’s inference tools with GPyTorch models.
It is best designed for:
Developing models that will be used for predictive tasks
GPs with likelihoods that have additional latent variables
The Pyro + GPyTorch High-Level Introduction gives an overview of the high-level interface. For a more in-depth example that shows off the power of the integration, see the Clustered Multitask GP Example.
Low-level Pyro Interface (for latent function inference)¶
The low-level interface simply provides tools to compute GP latent functions, and requires users to write their own model()
and guide()
functions.
It is best designed for:
Performing inference on probabilistic models that involve GPs
Models with complicated likelihoods
The Pyro + GPyTorch Low-Level Introduction gives an overview of the low-level interface. The Cox Process Example is a more in-depth example of a model that can be built using this interface.