thomaspinder/GPJax

Gaussian processes in JAX and Equinox.

What it solves

GPJax provides a flexible, low-level interface for implementing Gaussian process (GP) models. It aims to bridge the gap between mathematical notation on paper and actual code, allowing researchers to implement and extend GP models without being constrained by high-level abstractions that can be restrictive.

How it works

Built on top of JAX, the library leverages JAX's automatic differentiation and hardware acceleration to implement various GP methods. It provides a structured approach to defining kernels and performing inference, supporting a wide range of techniques including conjugate inference, sparse variational inference, and Laplace approximation.

Who it’s for

It is primarily designed for researchers working with Gaussian processes who need maximum flexibility to customize their models, create custom kernels, and experiment with new inference methods.

Highlights

  • Broad Method Support: Supports regression, classification, and Poisson regression, as well as heteroscedastic inference and deep kernel regression.
  • Flexible Customization: Allows for the creation of custom kernels and inference on non-Euclidean spaces or graphs.
  • JAX-powered: Leverages JAX for efficient computation and hardware acceleration.
  • Diverse Inference Techniques: Includes implementations of Sparse and Stochastic Variational Inference, and Laplace Approximation.

Related

  • Project
  • Project
  • Project
  • Project
  • Project