Skip to main content
  • Home
  • Development
  • Documentation
  • Donate
  • Operational login
  • Browse the archive

swh logo
SoftwareHeritage
Software
Heritage
Archive
Features
  • Search

  • Downloads

  • Save code now

  • Add forge now

  • Help

https://github.com/GPflow/GPflow
07 June 2025, 08:41:24 UTC
  • Code
  • Branches (230)
  • Releases (4)
  • Visits
    • Branches
    • Releases
    • HEAD
    • refs/heads/0.5.0
    • refs/heads/alan/hackathon_docs
    • refs/heads/alan/quickfix/multioutput_kernels
    • refs/heads/andrewl/fix_GPR_posterior_leading_dim
    • refs/heads/avullo-willcowley/working-bee-ef1
    • refs/heads/awav/check-det
    • refs/heads/awav/develop-2.0/hmc-helper
    • refs/heads/awav/develop-2.0/update-parameter-docstring
    • refs/heads/awav/different-stuff
    • refs/heads/awav/gpflow-2.0-squared_distances
    • refs/heads/awav/inference
    • refs/heads/awav/kernel-structure
    • refs/heads/awav/likelihood-variance
    • refs/heads/awav/natural-gradients
    • refs/heads/awav/release-pip-package
    • refs/heads/awav/release-testing-branch
    • refs/heads/awav/sparse-tensors-support
    • refs/heads/awav/tensor-functor
    • refs/heads/awav/tfp
    • refs/heads/awav_documentation
    • refs/heads/blockkernel
    • refs/heads/bump_version_to_2_10
    • refs/heads/cone
    • refs/heads/deep
    • refs/heads/deep_arccos_kernel
    • refs/heads/dependabot/pip/black-24.3.0
    • refs/heads/develop
    • refs/heads/develop-1.0
    • refs/heads/eps_conditionals
    • refs/heads/fast-grad
    • refs/heads/felix/pathologies_experiment
    • refs/heads/fergus/anisotropy
    • refs/heads/fergus/het_sgpr
    • refs/heads/fergus/linear
    • refs/heads/fergus/linear_noise
    • refs/heads/fergus/notebook
    • refs/heads/fergus/random_init_lin_noise
    • refs/heads/freeze_as_float32
    • refs/heads/fxsm/new_svgp
    • refs/heads/gh-pages
    • refs/heads/gplvm
    • refs/heads/gplvm-fullcov
    • refs/heads/gustavocmv/heterocedastic-gaussian-likelihood
    • refs/heads/gustavocmv/multiclass-likelihood-quadrature-test
    • refs/heads/gustavocmv/ndiagghquadrature-property-setter
    • refs/heads/gustavocmv/varying-noise-notebook-comment
    • refs/heads/hugh/broadcasting_matched_multi_sample
    • refs/heads/hughsalimbeni-broadcasting-conditional
    • refs/heads/icouckuy-derivatives
    • refs/heads/james-vincent/sgpr
    • refs/heads/jax
    • refs/heads/jesper/1956/stateless_random
    • refs/heads/jesper/dimobjs
    • refs/heads/jesper/dimobjswtf
    • refs/heads/jesper/fix_gpflux
    • refs/heads/jesper/for_hv
    • refs/heads/jesper/jn_gps
    • refs/heads/jesper/warped_halton
    • refs/heads/joelb/type-hint-config
    • refs/heads/john-bradshaw/binary-class-GP
    • refs/heads/john-bradshaw/derivative-observations
    • refs/heads/john-bradshaw/linear-features-for-kernels
    • refs/heads/john-bradshaw/linear-features-for-kernels-gpflow1.0
    • refs/heads/john/linear
    • refs/heads/khurram/scipy_xla
    • refs/heads/mark/jitter
    • refs/heads/master
    • refs/heads/master-1.0
    • refs/heads/master_profile_mnist
    • refs/heads/merging-masters
    • refs/heads/mnist
    • refs/heads/mnist_datatypes
    • refs/heads/multiclass_slicing
    • refs/heads/multioutput
    • refs/heads/nbtest
    • refs/heads/nested_models_recompilation
    • refs/heads/nicolas/sinc_kernel
    • refs/heads/parallel_tests
    • refs/heads/profiling_mods
    • refs/heads/profiling_mods_paper
    • refs/heads/pypi
    • refs/heads/requirements_fix
    • refs/heads/revert-1511-master
    • refs/heads/robustmax_epsilon_learnable
    • refs/heads/sc336/2.7.0-master-merge-again
    • refs/heads/sc336/2.7.0-merge
    • refs/heads/sc336/2.7.1-preparation
    • refs/heads/sc336/3.8_enum_bug
    • refs/heads/sc336/GroupingKey_error
    • refs/heads/sc336/categorical_kernel
    • refs/heads/sc336/dgp_components
    • refs/heads/sc336/fix_conflicts
    • refs/heads/sc336/key_rotation
    • refs/heads/sc336/mypy-sudden-failure
    • refs/heads/sc336/notebook-kernel_link
    • refs/heads/sc336/python-3-11
    • refs/heads/sc336/sphinx_version_switcher
    • refs/heads/sc336/v2.6.4
    • refs/heads/sc336/v2.6.5
    • refs/heads/sc336/version-numbers
    • refs/heads/sergio_pasc/gpflow-2.0/adapt-sgpmc-and-gpmc
    • refs/heads/sergio_pasc/gpflow-2.0/adapt-sgpr
    • refs/heads/sergio_pasc/gpflow-2.0/move-gplvm-tests
    • refs/heads/sergio_pasc/gpflow-2.0/move-multioutput-features-tests
    • refs/heads/sergio_pasc/gpflow-2.0/move-quadrature-tests
    • refs/heads/sergio_pasc/gpflow-2.0/move-tests-methods
    • refs/heads/sergio_pasc/gpflow-2.0/ordinal_regression
    • refs/heads/sergio_pasc/gpflow-2.0/parameter_transform
    • refs/heads/sergio_pasc/gpflow-2.0/remove_training_loop
    • refs/heads/spascual/add-mailmap-file
    • refs/heads/st---metaautoflow
    • refs/heads/st/clean_up_broadcasting_conditionals
    • refs/heads/st/ericpena/natgrad-change
    • refs/heads/st/fix_active_dims_2
    • refs/heads/st/fix_config_module_docstring
    • refs/heads/st/fix_test_method_equivalence
    • refs/heads/st/fix_typo
    • refs/heads/st/fxsm
    • refs/heads/st/fxsm_closure
    • refs/heads/st/inv_probit_jitter_arg
    • refs/heads/st/new_svgp
    • refs/heads/st/posterior
    • refs/heads/st/posterior_with_linear_operators
    • refs/heads/st/quickfix/dispatch_docs
    • refs/heads/st/quickfix/posterior
    • refs/heads/st/quickfix_num_latent
    • refs/heads/st/rename_slow_multioutput
    • refs/heads/st/reorder_covariances
    • refs/heads/st/rescue_754
    • refs/heads/st/snowflake_kernel
    • refs/heads/st/test_cleanup
    • refs/heads/st/test_for_shape_check
    • refs/heads/st/test_kernel
    • refs/heads/st/triangular
    • refs/heads/st_FITCvsVFE_2.0
    • refs/heads/stef/fxsm
    • refs/heads/tf2.0-compatible
    • refs/heads/transform_on_sided
    • refs/heads/uri/bump_version_to_2_9_1
    • refs/heads/uri/bump_version_to_2_9_2
    • refs/heads/uri/clarify_training_loss_ref_in_tutorial
    • refs/heads/uri/dont_use_enums_for_default_values
    • refs/heads/uri/fix_benchmarks
    • refs/heads/uri/heteroskedastic_linear_mean
    • refs/heads/uri/investigate_scipy_memory_leak
    • refs/heads/uri/investigate_tf214_memory_leak
    • refs/heads/uri/move_prod_to_2_14
    • refs/heads/uri/numpy_2
    • refs/heads/uri/pickling_scipy_optimizer
    • refs/heads/uri/prod_test_environment
    • refs/heads/uri/quickfix/dont_round_small_values_in_summary
    • refs/heads/uri/quickfix/mypy_fixes
    • refs/heads/uri/release_2_8_1
    • refs/heads/uri/release_2_9_0
    • refs/heads/uri/support_tf_2_12
    • refs/heads/uri/test
    • refs/heads/uri/test_sgpr_changepoint_issue
    • refs/heads/uri/test_tf_2_16
    • refs/heads/uri/track_loss_history
    • refs/heads/uri/update_max_tf_version
    • refs/heads/uri/update_prod_tf_version
    • refs/heads/v1.5.1-docs
    • refs/heads/va/additive_models
    • refs/heads/va/gpf/conditional_kernel
    • refs/heads/va/gpf/seeger_lik
    • refs/heads/va/h
    • refs/heads/vdutor/multiple-output-gps
    • refs/heads/vincent/add-shared-mixed-mok
    • refs/heads/vincent/cholesky-to-kl
    • refs/heads/vincent/hotfix/preslicing-lmc
    • refs/heads/vincent/hotfix/save-keras-model
    • refs/heads/vincent/introspect-conditional
    • refs/heads/vincent/more-predict-functions
    • refs/heads/vincent/nbviewer
    • refs/heads/vincent/quickfix/dynamic-shapes-quadrature
    • refs/heads/vincent/quickfix/typo
    • refs/heads/vincent/shared-mixed-mok
    • refs/heads/vincent/st/heteroscedastic
    • refs/heads/vincent/st/multi-output-likelihoods
    • refs/heads/vincent/update-readme
    • refs/heads/whitening
    • refs/tags/0.2.1
    • refs/tags/0.3.1
    • refs/tags/0.3.2
    • refs/tags/0.3.3
    • refs/tags/0.3.4
    • refs/tags/0.3.5
    • refs/tags/0.4.0
    • refs/tags/0.5.0
    • refs/tags/1.0.0
    • refs/tags/1.1.0
    • refs/tags/1.1.1
    • refs/tags/2.0.0-rc1
    • refs/tags/v1.4.1
    • refs/tags/v1.5.0
    • refs/tags/v1.5.1
    • refs/tags/v2.0.0
    • refs/tags/v2.0.1
    • refs/tags/v2.0.2
    • refs/tags/v2.0.3
    • refs/tags/v2.0.4
    • refs/tags/v2.0.5
    • refs/tags/v2.1.0
    • refs/tags/v2.1.1
    • refs/tags/v2.1.2
    • refs/tags/v2.1.3
    • refs/tags/v2.1.4
    • refs/tags/v2.1.5
    • refs/tags/v2.10.0
    • refs/tags/v2.2.0
    • refs/tags/v2.2.1
    • refs/tags/v2.3.0
    • refs/tags/v2.3.1
    • refs/tags/v2.4.0
    • refs/tags/v2.5.0
    • refs/tags/v2.5.1
    • refs/tags/v2.5.2
    • refs/tags/v2.6.0
    • refs/tags/v2.6.1
    • refs/tags/v2.6.2
    • refs/tags/v2.6.3
    • refs/tags/v2.6.4
    • refs/tags/v2.6.5
    • refs/tags/v2.7.0
    • refs/tags/v2.7.1
    • refs/tags/v2.8.0
    • refs/tags/v2.8.1
    • refs/tags/v2.9.0
    • refs/tags/v2.9.1
    • refs/tags/v2.9.2
    • v1.3.0
    • v1.2.0
    • pre-dimension-rolling
    • 0.3.9
  • b2b08eb
  • /
  • README.md
Raw File Download
Take a new snapshot of a software origin

If the archived software origin currently browsed is not synchronized with its upstream version (for instance when new commits have been issued), you can explicitly request Software Heritage to take a new snapshot of it.

Use the form below to proceed. Once a request has been submitted and accepted, it will be processed as soon as possible. You can then check its processing state by visiting this dedicated page.
swh spinner

Processing "take a new snapshot" request ...

Permalinks

To reference or cite the objects present in the Software Heritage archive, permalinks based on SoftWare Hash IDentifiers (SWHIDs) must be used.
Select below a type of object currently browsed in order to display its associated SWHID and permalink.

  • content
  • directory
  • revision
  • snapshot
origin badgecontent badge Iframe embedding
swh:1:cnt:899979adcba3f98cf9a8e1d28143d22b976b77ed
origin badgedirectory badge Iframe embedding
swh:1:dir:b2b08eb092fb430a4023e478c6cb6f11925f0099
origin badgerevision badge
swh:1:rev:6fd1a26809a4c754b73c1a645b48d7cda35b2cd6
origin badgesnapshot badge
swh:1:snp:239fa20181c27ca73831654c9488af916c079076
Citations

This interface enables to generate software citations, provided that the root directory of browsed objects contains a citation.cff or codemeta.json file.
Select below a type of object currently browsed in order to generate citations for them.

  • content
  • directory
  • revision
  • snapshot
Generate software citation in BibTex format (requires biblatex-software package)
Generating citation ...
Generate software citation in BibTex format (requires biblatex-software package)
Generating citation ...
Generate software citation in BibTex format (requires biblatex-software package)
Generating citation ...
Generate software citation in BibTex format (requires biblatex-software package)
Generating citation ...
Tip revision: 6fd1a26809a4c754b73c1a645b48d7cda35b2cd6 authored by John Bradshaw on 24 October 2017, 10:29:09 UTC
Merge remote-tracking branch 'origin/GPflow-1.0-RC' into john-bradshaw/linear-features-for-kernels-gpflow1.0
Tip revision: 6fd1a26
README.md
# GPflow

GPflow is a package for building Gaussian process models in python, using [TensorFlow](http://www.tensorflow.org). It was originally created and is now managed by [James Hensman](http://www.lancaster.ac.uk/staff/hensmanj/) and [Alexander G. de G. Matthews](http://mlg.eng.cam.ac.uk/?portfolio=alex-matthews).
The full list of [contributors](http://github.com/GPflow/GPflow/graphs/contributors) (in alphabetical order) is Artem Artemev, Rasmus Bonnevie, Alexis Boukouvalas, Ivo Couckuyt, Keisuke Fujii, Zoubin Ghahramani, David J. Harris, James Hensman, Pablo Leon-Villagra, Daniel Marthaler, Alexander G. de G. Matthews, Tom Nickson, Valentine Svensson, Mark van der Wilk. GPflow is an open source project so if you feel you have some relevant skills and are interested in contributing then please do contact us.

[![Python2.7 status](https://codeship.com/projects/26b43920-e96e-0133-3481-02cde9680eda/status?branch=master)](https://codeship.com/projects/147609)
[![Python3.5 Status](https://travis-ci.org/GPflow/GPflow.svg?branch=master)](https://travis-ci.org/GPflow/GPflow)
[![Coverage Status](http://codecov.io/github/GPflow/GPflow/coverage.svg?branch=master)](http://codecov.io/github/GPflow/GPflow?branch=master)
[![Documentation Status](https://readthedocs.org/projects/gpflow/badge/?version=latest)](http://gpflow.readthedocs.io/en/latest/?badge=latest)

# What does GPflow do?

GPflow implements modern Gaussian process inference for composable kernels and likelihoods. The [online user manual](http://gpflow.readthedocs.io/en/latest/) contains more details. The interface follows on from [GPy](http://github.com/sheffieldml/gpy), for more discussion of the comparison see [this page](http://gpflow.readthedocs.io/en/latest/intro.html#what-s-the-difference-between-gpy-and-gpflow).

# Install

## 1) Quick install
GPflow can be installed by cloning the repository and running
```
pip install .
```
in the root folder. This also installs required dependencies including TensorFlow. When GPU support is needed, a manual installation of TensorFlow is recommended (next section), as one cannot rely on pip to get this running.

## 2) Alternative method
A different option to install GPflow requires installation of TensorFlow first. Please see instructions on the main TensorFlow [webpage](https://www.tensorflow.org/versions/r1.0/get_started/get_started). You will need at least version 1.0 (we aim to support the latest version). We find that for most users pip installation is the fastest way to get going. Then, for those interested in modifying the source of GPflow, we recommend  
```
python setup.py develop
```
but installation should work well too:
```
python setup.py install
```
You can run the tests with `python setup.py test`.

Version history is documented [here.](https://github.com/GPflow/GPflow/blob/master/RELEASE.md)

# Deprecation

Python package name `GPflow` is no longer supported, it has been changed to lower-case name `gpflow`. You can adapt your code to new renamed package by running these commands:

```bash
## All files will be backed-up with `.bak` suffix
sed -i '.bak_import' 's/^\(import *\) GPflow/\1 gpflow/g' ./project-path
sed -i '.bak_from' 's/^\(from *\) GPflow/\1 gpflow/g' ./project-path
sed -i '.bak_dot' 's/GPflow\(\.[a-zA-Z0-9]\)/gpflow\1/g' ./project-path
```

## Docker image

We also provide a [Docker image](https://hub.docker.com/r/gpflow/gpflow/) which can be run using

```
docker run -it -p 8888:8888 gpflow/gpflow
```

Code to generate the image can be found [here](Dockerfile)

# Getting help
Please use gihub issues to start discussion on the use of GPflow. Tagging enquiries `discussion` helps us distinguish them from bugs.

# Contributing
All constuctive input is gratefully received. For more information, see the [notes for contributors](contributing.md).

# Projects using GPflow

A few projects building on GPflow and demonstrating its usage are listed below.

| Project | Description |
| --- | --- |
| [GPflowOpt](https://github.com/GPflow/GPflowOpt)       | Bayesian Optimization using GPflow. |
| [VFF](https://github.com/jameshensman/VFF)       | Variational Fourier Features for Gaussian Processes. |
| [Doubly-Stochastic-DGP](https://github.com/ICL-SML/Doubly-Stochastic-DGP)| Deep Gaussian Processes with Doubly Stochastic Variational Inference.|
| [BranchedGP](https://github.com/ManchesterBioinference/BranchedGP) | Gaussian processes with branching kernels.|

Let us know if you would like your project listed here.

# Citing GPflow

To cite GPflow, please reference the [JMLR paper](http://www.jmlr.org/papers/volume18/16-537/16-537.pdf). Sample Bibtex is given below:

```
@ARTICLE{GPflow2017,
   author = {Matthews, Alexander G. de G. and {van der Wilk}, Mark and Nickson, Tom and
	Fujii, Keisuke. and {Boukouvalas}, Alexis and {Le{\'o}n-Villagr{\'a}}, Pablo and
	Ghahramani, Zoubin and Hensman, James},
    title = "{{GP}flow: A {G}aussian process library using {T}ensor{F}low}",
  journal = {Journal of Machine Learning Research},
  year    = {2017},
  month = {apr},
  volume  = {18},
  number  = {40},
  pages   = {1-6},
  url     = {http://jmlr.org/papers/v18/16-537.html}
}
```

Software Heritage — Copyright (C) 2015–2025, The Software Heritage developers. License: GNU AGPLv3+.
The source code of Software Heritage itself is available on our development forge.
The source code files archived by Software Heritage are available under their own copyright and licenses.
Terms of use: Archive access, API— Contact— JavaScript license information— Web API

back to top