QuantClimate/GPJax

Gaussian processes in JAX and Equinox.

What it solves

GPJax provides a low-level interface for implementing Gaussian process (GP) models. It addresses the need for a flexible framework where the code closely mirrors the mathematical notation used in GP research, allowing researchers to extend and customize models easily.

How it works

Built on top of Jax, the library implements a wide array of GP methods and interfaces. It supports various regression and classification tasks, as well as advanced acceleration techniques like Sparse Gaussian Process Regression and Stochastic Variational Inference to handle larger datasets. It also integrates with Numpyro for joint inference.

Who it’s for

It is primarily designed for researchers and developers who need maximum flexibility in extending GP models and who want a framework that aligns with the mathematical foundations of the technology.

Highlights

  • Broad Method Support: Includes regression, classification, count data regression, and multi-output GPs.
  • Scalability: Features sparse GPs, state-space (Markovian) GPs, and natural gradients for acceleration.
  • Customizability: Provides dedicated guides for creating new kernels and likelihoods, as well as support for Deep Kernel Learning.
  • Applied Modelling: Includes specialized implementations for vector fields, ocean current modelling, and spatial modelling.

Related

  • Project
  • Project
  • Project
  • Project