GPflow manual

You can use this document to get familiar with GPflow. We’ve split up the material into four different categories: basics, understanding, advanced needs, and tailored models. We have also provided a flow diagram to guide you to the relevant parts of GPflow for your specific problem.

GPflow 2

Users of GPflow 1 should check the upgrade guide to GPflow 2.


This section covers the elementary uses of GPflow, and shows you how to use GPflow for your basic datasets with existing models.

  • In regression.ipynb and classification.ipynb we show how to use GPflow to fit simple regression and classification models (Rasmussen and Williams, 2006).

  • In gplvm.ipynb we cover the unsupervised case, and showcase GPflow’s Bayesian Gaussian Process Latent Variable Model (GPLVM) (Titsias and Lawrence, 2010).

In each notebook we go over the data format, model setup, model optimization, and prediction options.


This section covers the building blocks of GPflow from an implementation perspective, and shows how the different modules interact as a whole.

Advanced needs

This section explains the more complex models and features that are available in GPflow.



  • Natural gradients: how to optimize the variational approximate posterior’s parameters.

  • Monitoring optimisation: how to monitor the model during optimisation: running custom callbacks and writing images and model parameters to TensorBoards.

Tailored models

This section shows how to use GPflow’s utilities and codebase to build new probabilistic models. These can be seen as complete examples.

Theoretical notes

The following notebooks relate to the theory of Gaussian processes and approximations. These are not required reading for using GPflow, but are included for those interested in the theoretical underpinning and technical details.


Carl E Rasmussen and Christopher KI Williams. Gaussian Processes for Machine Learning. MIT Press, 2006.

James Hensman, Nicolo Fusi, and Neil D Lawrence. ‘Gaussian Processes for Big Data’. Uncertainty in Artificial Intelligence, 2013.

James Hensman, Alexander G de G Matthews, and Zoubin Ghahramani. ‘Scalable variational Gaussian process classification’. Proceedings of the Eighteenth International Conference on Artificial Intelligence and Statistics, 2015.

Michalis Titsias and Neil D Lawrence. ‘Bayesian Gaussian process latent variable model’. Proceedings of the Thirteenth International Conference on Artificial Intelligence and Statistics, 2010.