A Gaussian processes framework in Python.
Continuous integration status:
Work is underway to make GPy run on Python 3.
- Python 2.x compatibility is currently broken in this fork
- All tests in the testsuite now run on Python3.
To see this for yourself, in Ubuntu 14.04, you can do
git clone https://github.com/mikecroucher/GPy.git
cd GPy
git checkout devel
nosetests3 GPy/testing
nosetests3 is Ubuntu's way of reffering to the Python 3 version of nosetests. You install it with
sudo apt-get install python3-nose
- Test coverage is less than 100% so it is expected that there is still more work to be done. We need more tests and examples to try out.
- All weave functions not covered by the test suite are simply commented out. Can add equivalents later as test functions become available
- A set of benchmarks would be useful!
@Misc{gpy2014,
author = {The GPy authors},
title = {{GPy}: A Gaussian process framework in python},
howpublished = {\url{http://github.com/SheffieldML/GPy}},
year = {2012--2014}
}
We like to pronounce it 'Gee-pie'.
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 . We've also had luck with .
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.
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 [email protected]:SheffieldML/GPy.git ~/SheffieldML
echo 'PYTHONPATH=$PYTHONPATH:~/SheffieldML' >> ~/.bashrc
Everything appears to work out-of-the box using on osx Mavericks. Download/clone GPy, and then add GPy to your PYTHONPATH
git clone [email protected]:SheffieldML/GPy.git ~/SheffieldML
echo 'PYTHONPATH=$PYTHONPATH:~/SheffieldML' >> ~/.profile
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
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
The documentation can be compiled as follows:
cd doc
make html
The HTML files are then stored in doc/_build/
Ensure nose is installed via pip:
pip install nose
Run nosetests from the root directory of the repository:
nosetests -v GPy/testing
or from within IPython
import GPy; GPy.tests()
Current support for the GPy software is coming through the following projects.
-
EU FP7-PEOPLE Project Ref 316861 "MLPM2012: Machine Learning for Personalized Medicine"
-
BBSRC Project No BB/K011197/1 "Linking recombinant gene sequence to protein product manufacturability using CHO cell genomic resources"
-
MRC Special Training Fellowship "Bayesian models of expression in the transcriptome for clinical RNA-seq"
-
EU FP7-KBBE Project Ref 289434 "From Data to Models: New Bioinformatics Methods and Tools for Data-Driven Predictive Dynamic Modelling in Biotechnological Applications"
-
EU FP7-ICT Project Ref 612139 "WYSIWYD: What You Say is What You Did"
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"