A Gaussian process (GP) library built in JAX (with objax)

Newt
Newt is a Gaussian process (GP) library built in JAX (with objax), built and actively maintained by Will Wilkinson.
Newt provides a unifying view of approximate Bayesian inference for GPs, and allows for the combination of many models (e.g. GPs, sparse GPs, Markov GPs, sparse Markov GPs) with the inference method of your choice (VI, EP, Laplace, Linearisation). For a full list of the methods implemented scroll down to the bottom of this page.
Installation
In the top directory (Newt), run
pip install -e .
Example
Given some inputs x
and some data y
, you can construct a Newt model as follows,
kern = newt.kernels.Matern52()
lik = newt.likelihoods.Gaussian()
model = newt.models.MarkovVariationalGP(kernel=kern, likelihood=lik, X=x, Y=y)
The training loop (inference and