Choosing the appropriate Gaussian process model

I can find GP models in both Gpytorch package and in Pyro package. I came to know that the model used for inference is different from models for prediction. Can any one throw some light on:
–> What is basic difference between inference and prediction.
–> which library has models for prediction and which one for inference.

The terminology between typical GPs lingo and deep learning is a bit different when it comes to inference. For GPs: Inference = find model/hyperparameters (or distributions) “infer them from data” and prediciton: apply model. In DL: Find model = training, inference = apply model.

Any model would have inference and prediction steps, and any framework, too.
The model can be either optimization based (e.g. MAP, VI) or MCMC. It really depends on the details of your problem which is most appropriate.

GPyTorch might, in my view, be more accessible / similar to “classic” GP libraries.
Pyro on the other hand is a generic probabilistic programming framework that happens to be applicable to GPs, too.

But of course I’m biased, long before there was GPyTorch, I had written my own GP library for PyTorch.

Best regards

Thomas

3 Likes

Hello Tom,

Thanks for the reply. I asked the above question after seeing some content from the attached notebook. The author says that the pyro library GP models are used for prediction and Gpytorch GP models are used for inference. Please see this link. https://github.com/cornellius-gp/gpytorch/blob/master/examples/07_Pyro_Integration/Pyro_GPyTorch_Low_Level.ipynb