/GPy

Gaussian processes framework in python

Primary LanguagePythonBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

GPy

A Gaussian processes framework in Python.

Continuous integration status: CI status

Citation

@Misc{gpy2014,
  author =   {The GPy authors},
  title =    {{GPy}: A Gaussian process framework in python},
  howpublished = {\url{http://github.com/SheffieldML/GPy}},
  year = {2012--2014}
}

Pronounciation

We like to pronounce it 'Gee-pie'.

Getting started: installing with pip

The simplest way to install GPy is using pip. Ubuntu users can do:

sudo apt-get install python-pip
pip install gpy

On windows, we recommend the anaconda python distribution. We've also had luck with enthought.

On a fresh install of windows 8.1, we downloaded the Anaconda python distribution, started the anaconda command prompt and typed

pip install GPy

Everything seems to work: from here you can type ipython and then import GPy; GPy.tests(). Working as of 21/11/14

If you'd like to install from source, or want to contribute to the project (e.g. by sending pull requests via github), read on.

Ubuntu hackers

For the most part, the developers are using ubuntu. To install the required packages:

sudo apt-get install python-numpy python-scipy python-matplotlib

clone this git repository and add it to your path:

git clone git@github.com:SheffieldML/GPy.git ~/SheffieldML
echo 'PYTHONPATH=$PYTHONPATH:~/SheffieldML' >> ~/.bashrc

OSX

Everything appears to work out-of-the box using enthought on osx Mavericks. Download/clone GPy, and then add GPy to your PYTHONPATH

git clone git@github.com:SheffieldML/GPy.git ~/SheffieldML
echo 'PYTHONPATH=$PYTHONPATH:~/SheffieldML' >> ~/.profile

Compiling documentation:

The documentation is stored in doc/ and is compiled with the Sphinx Python documentation generator, and is written in the reStructuredText format.

The Sphinx documentation is available here: http://sphinx-doc.org/latest/contents.html

Installing dependencies:

To compile the documentation, first ensure that Sphinx is installed. On Debian-based systems, this can be achieved as follows:

sudo apt-get install python-pip
sudo pip install sphinx

A LaTeX distribution is also required to compile the equations. Note that the extra packages are necessary to install the unicode packages. To compile the equations to PNG format for use in HTML pages, the package dvipng must be installed. IPython is also required. On Debian-based systems, this can be achieved as follows:

sudo apt-get install texlive texlive-latex-extra texlive-base texlive-recommended
sudo apt-get install dvipng
sudo apt-get install ipython

Compiling documentation:

The documentation can be compiled as follows:

cd doc
make html

The HTML files are then stored in doc/_build/

Running unit tests:

Ensure nose is installed via pip:

pip install nose

Run nosetests from the root directory of the repository:

nosetests -v

or from within IPython

import GPy; GPy.tests()

Funding Acknowledgements

Current support for the GPy software is coming through the following projects.

Previous support for the GPy software came from the following projects:

  • BBSRC Project No BB/H018123/2 "An iterative pipeline of computational modelling and experimental design for uncovering gene regulatory networks in vertebrates"
  • Erasysbio "SYNERGY: Systems approach to gene regulation biology through nuclear receptors"