Build Status

A GP library in Julia.

Currently this package interfaces with GPFlow.

Getting Started

To use GPMLj.jl, you need to install Julia first and then install GPMLj.jl.

The following will install the latest version of GPMLj.jl while inside Julia’s package manager (press ] from the REPL):

    add GPMLj
    build GPMLj   # this should install the GPFlow python package and its dependencies.


  1. Add Julia interface for GPFlow and GPt
  2. Add Julia interface for GPyTorch
  3. Pure Julia support for GP by porting GPML (see e.g. GPKit.jl, Stheno.jl, theogf/AugmentedGaussianProcesses.jl and STOR-i/GaussianProcesses.jl)

Related papers


  1. Matthews, De G., G. Alexander, Mark Van Der Wilk, Tom Nickson, Keisuke Fujii, Alexis Boukouvalas, Pablo León-Villagrá, Zoubin Ghahramani, and James Hensman. "GPflow: A Gaussian process library using TensorFlow." The Journal of Machine Learning Research 18, no. 1 (2017): 1299-1304.


  1. Wang, Ke Alexander, Geoff Pleiss, Jacob R. Gardner, Stephen Tyree, Kilian Q. Weinberger, and Andrew Gordon Wilson. "Exact Gaussian Processes on a Million Data Points." arXiv preprint arXiv:1903.08114 (2019).

  2. Gardner, Jacob R., Geoff Pleiss, David Bindel, Kilian Q. Weinberger, and Andrew Gordon Wilson. ” GPyTorch: Blackbox Matrix-Matrix Gaussian Process Inference with GPU Acceleration.” In NeurIPS (2018).

General intro paper on sparse variational inference in GP:

  1. Quiñonero-Candela, Joaquin, and Carl Edward Rasmussen. "A unifying view of sparse approximate Gaussian process regression." Journal of Machine Learning Research 6, no. Dec (2005): 1939-1959.

  2. Bauer, Matthias, Mark van der Wilk, and Carl Edward Rasmussen. "Understanding probabilistic sparse Gaussian process approximations." In Advances in neural information processing systems, pp. 1533-1541. 2016. (GPFlow implements several algorithms here)

Also the GP book

  1. Gaussian Processes for Machine Learning, Carl Edward Rasmussen and Christopher K. I. Williams, MIT Press (2006).