Skip to content
@JuliaGaussianProcesses

Gaussian Processes for Machine Learning in Julia

Welcome to JuliaGPs

JuliaGPs is an organisation interested in making Gaussian process models work well in the Julia programming language. The packages in this ecosystem are targeted at people who want to use Gaussian processes as Bayesian statistical models, or people who want to do methodological research on Gaussian processes.

If you're new to the organisation, you should develop an understanding of the core packages:

  1. KernelFunctions.jl
  2. GPLikelihoods.jl
  3. AbstractGPs.jl
  4. ApproximateGPs.jl

KernelFunctions and GPLikelihoods are low-level packages implementing APIs for kernel functions and observation likelihoods, respectively, and include implementations of the most common classes of kernels and likelihoods used in pratice. AbstractGPs and ApproximateGPs are higher-level packages that implement inference of full and sparse GPs. AbstractGPs is restricted to Gaussian likelihoods, while ApproximateGPs also allows for non-Gaussian ones. AbstractGPs dependends on KernelFunctions, while ApproximateGPs depends on AbstractGPs and additionally on GPLikelihoods. The lower-level packages are reexported, and thus to have the complete experience at your fingertips, you can just use ApproximateGPs. In order to develop an understanding of the ecosystem, however, it is best to study the packages in the above order 1-4.

These core packages are maintained jointly by all org members, and we try to ensure that they work well and are of a high standard. Consequently, you should expect to recieve good support when working with them, for example you should expect prompt responses when you open issues / pull requests.

You'll notice a variety of other packages in this organisation. These are all packages which depend on the above core packages in some way or another. Often they're developed by an org member to support their personal research agenda. They generally only have 1 or 2 maintainers, so you should expect a lower level of support.

Team

While numerous people have contributed to the JuliaGPs ecosystem, core contributors (in alphabetical order) include David Widmann, Hong Ge, Ross Viljoen, Sharan Yalburgi, ST John, Théo Galy-Fajou, and Will Tebbutt

Pinned Loading

  1. KernelFunctions.jl KernelFunctions.jl Public

    Julia package for kernel functions for machine learning

    Julia 267 32

  2. AbstractGPs.jl AbstractGPs.jl Public

    Abstract types and methods for Gaussian Processes.

    Julia 222 21

  3. ApproximateGPs.jl ApproximateGPs.jl Public

    Approximations for Gaussian processes: sparse variational inducing point approximations, Laplace approximation, ...

    Julia 36 6

  4. GPLikelihoods.jl GPLikelihoods.jl Public

    Provides likelihood functions for Gaussian Processes.

    Julia 42 5

Repositories

Showing 10 of 20 repositories
  • AbstractGPs.jl Public

    Abstract types and methods for Gaussian Processes.

    JuliaGaussianProcesses/AbstractGPs.jl’s past year of commit activity
    Julia 222 21 30 (5 issues need help) 12 Updated Dec 6, 2024
  • AbstractGPsMakie.jl Public

    Plots of Gaussian processes with AbstractGPs and Makie

    JuliaGaussianProcesses/AbstractGPsMakie.jl’s past year of commit activity
    Julia 2 MIT 0 0 0 Updated Dec 1, 2024
  • KernelFunctions.jl Public

    Julia package for kernel functions for machine learning

    JuliaGaussianProcesses/KernelFunctions.jl’s past year of commit activity
    Julia 267 MIT 32 79 (4 issues need help) 36 Updated Nov 25, 2024
  • TemporalGPs.jl Public

    Fast inference for Gaussian processes in problems involving time. Partly built on results from https://proceedings.mlr.press/v161/tebbutt21a.html

    JuliaGaussianProcesses/TemporalGPs.jl’s past year of commit activity
    Julia 120 MIT 5 15 (1 issue needs help) 2 Updated Nov 17, 2024
  • GPLikelihoods.jl Public

    Provides likelihood functions for Gaussian Processes.

    JuliaGaussianProcesses/GPLikelihoods.jl’s past year of commit activity
    Julia 42 MIT 5 20 3 Updated Jul 21, 2024
  • AugmentedGPLikelihoods.jl Public

    Provide all functions needed to work with augmented likelihoods (conditionally conjugate with Gaussians)

    JuliaGaussianProcesses/AugmentedGPLikelihoods.jl’s past year of commit activity
    Julia 20 MIT 1 8 2 Updated Jul 20, 2024
  • ApproximateGPs.jl Public

    Approximations for Gaussian processes: sparse variational inducing point approximations, Laplace approximation, ...

    JuliaGaussianProcesses/ApproximateGPs.jl’s past year of commit activity
    Julia 36 6 16 (2 issues need help) 9 Updated Jul 14, 2024
  • JuliaGaussianProcesses/KernelSpectralDensities.jl’s past year of commit activity
    Julia 6 MIT 0 0 4 Updated Jun 19, 2024
  • EasyGPs.jl Public

    Easy automatic fitting of JuliaGP models

    JuliaGaussianProcesses/EasyGPs.jl’s past year of commit activity
    Julia 3 MIT 0 0 0 Updated Mar 9, 2024
  • ScalarKernelFunctions.jl Public

    Kernel functions optimized for 1d input

    JuliaGaussianProcesses/ScalarKernelFunctions.jl’s past year of commit activity
    Julia 0 MIT 0 0 0 Updated Mar 1, 2024