diff --git a/GPy/__init__.py b/GPy/__init__.py index c0772c27..fa69dac3 100644 --- a/GPy/__init__.py +++ b/GPy/__init__.py @@ -9,3 +9,10 @@ import util import examples from core import priors import likelihoods +import testing +from numpy.testing import Tester +from nose.tools import nottest + +@nottest +def tests(): + Tester(testing).test(verbose=10) diff --git a/GPy/testing/bgplvm_tests.py b/GPy/testing/bgplvm_tests.py index c49bdfda..e3bd2b36 100644 --- a/GPy/testing/bgplvm_tests.py +++ b/GPy/testing/bgplvm_tests.py @@ -12,6 +12,7 @@ class BGPLVMTests(unittest.TestCase): k = GPy.kern.rbf(Q) + GPy.kern.white(Q, 0.00001) K = k.K(X) Y = np.random.multivariate_normal(np.zeros(N),K,D).T + Y -= Y.mean(axis=0) k = GPy.kern.bias(Q) + GPy.kern.white(Q, 0.00001) m = GPy.models.Bayesian_GPLVM(Y, Q, kernel = k, M=M) m.constrain_positive('(rbf|bias|noise|white|S)') @@ -24,6 +25,7 @@ class BGPLVMTests(unittest.TestCase): k = GPy.kern.rbf(Q) + GPy.kern.white(Q, 0.00001) K = k.K(X) Y = np.random.multivariate_normal(np.zeros(N),K,D).T + Y -= Y.mean(axis=0) k = GPy.kern.linear(Q) + GPy.kern.white(Q, 0.00001) m = GPy.models.Bayesian_GPLVM(Y, Q, kernel = k, M=M) m.constrain_positive('(linear|bias|noise|white|S)') @@ -36,13 +38,14 @@ class BGPLVMTests(unittest.TestCase): k = GPy.kern.rbf(Q) + GPy.kern.white(Q, 0.00001) K = k.K(X) Y = np.random.multivariate_normal(np.zeros(N),K,D).T + Y -= Y.mean(axis=0) k = GPy.kern.rbf(Q) + GPy.kern.white(Q, 0.00001) m = GPy.models.Bayesian_GPLVM(Y, Q, kernel = k, M=M) m.constrain_positive('(rbf|bias|noise|white|S)') m.randomize() self.assertTrue(m.checkgrad()) - + if __name__ == "__main__": print "Running unit tests, please be (very) patient..." unittest.main() diff --git a/GPy/testing/kernel_tests.py b/GPy/testing/kernel_tests.py index 3d738106..bb809ea6 100644 --- a/GPy/testing/kernel_tests.py +++ b/GPy/testing/kernel_tests.py @@ -13,7 +13,6 @@ class KernelTests(unittest.TestCase): X = np.random.rand(5,5) Y = np.ones((5,1)) m = GPy.models.GP_regression(X,Y,K) - print m self.assertTrue(m.checkgrad()) def test_coregionalisation(self): diff --git a/GPy/testing/unit_tests.py b/GPy/testing/unit_tests.py index 5ec1d766..55a1fb65 100644 --- a/GPy/testing/unit_tests.py +++ b/GPy/testing/unit_tests.py @@ -192,17 +192,6 @@ class GradientTests(unittest.TestCase): m.approximate_likelihood() self.assertTrue(m.checkgrad()) - def test_warped_GP(self): - xmin, xmax = 1, 2.5*np.pi - b, C, SNR = 1, 0, 0.1 - X = np.linspace(xmin, xmax, 500) - y = b*X + C + 1*np.sin(X) - y += 0.05*np.random.randn(len(X)) - X, y = X[:, None], y[:, None] - m = GPy.models.warpedGP(X, y, warping_terms = 3) - m.constrain_positive('(tanh_a|tanh_b|rbf|white|bias)') - self.assertTrue(m.checkgrad()) - if __name__ == "__main__": print "Running unit tests, please be (very) patient..." diff --git a/doc/Figures/tick.png b/doc/Figures/tick.png new file mode 100644 index 00000000..1175c802 Binary files /dev/null and b/doc/Figures/tick.png differ diff --git a/doc/GPy.examples.rst b/doc/GPy.examples.rst index 59ffd43d..ec283d21 100644 --- a/doc/GPy.examples.rst +++ b/doc/GPy.examples.rst @@ -73,6 +73,22 @@ examples Package :undoc-members: :show-inheritance: +:mod:`tuto_GP_regression` Module +-------------------------------- + +.. automodule:: GPy.examples.tuto_GP_regression + :members: + :undoc-members: + :show-inheritance: + +:mod:`tuto_kernel_overview` Module +---------------------------------- + +.. automodule:: GPy.examples.tuto_kernel_overview + :members: + :undoc-members: + :show-inheritance: + :mod:`uncertain_input_GP_regression_demo` Module ------------------------------------------------ diff --git a/doc/GPy.kern.rst b/doc/GPy.kern.rst index a3a611b7..3ebeda40 100644 --- a/doc/GPy.kern.rst +++ b/doc/GPy.kern.rst @@ -49,6 +49,14 @@ kern Package :undoc-members: :show-inheritance: +:mod:`coregionalise` Module +--------------------------- + +.. automodule:: GPy.kern.coregionalise + :members: + :undoc-members: + :show-inheritance: + :mod:`exponential` Module ------------------------- @@ -113,18 +121,18 @@ kern Package :undoc-members: :show-inheritance: -:mod:`product` Module ---------------------- +:mod:`prod` Module +------------------ -.. automodule:: GPy.kern.product +.. automodule:: GPy.kern.prod :members: :undoc-members: :show-inheritance: -:mod:`product_orthogonal` Module --------------------------------- +:mod:`prod_orthogonal` Module +----------------------------- -.. automodule:: GPy.kern.product_orthogonal +.. automodule:: GPy.kern.prod_orthogonal :members: :undoc-members: :show-inheritance: @@ -145,6 +153,14 @@ kern Package :undoc-members: :show-inheritance: +:mod:`symmetric` Module +----------------------- + +.. automodule:: GPy.kern.symmetric + :members: + :undoc-members: + :show-inheritance: + :mod:`sympykern` Module ----------------------- diff --git a/doc/kernel_implementation.rst b/doc/kernel_implementation.rst index 57b37c8e..888d1ee5 100644 --- a/doc/kernel_implementation.rst +++ b/doc/kernel_implementation.rst @@ -3,15 +3,36 @@ List of implemented kernels *************************** -The :math:`\checkmark` symbol represents the functions that have been implemented for each kernel. +The following table shows the implemented kernels in GPy and gives the details of the implemented function for each kernel. -.. |tick| +==================== =========== ====== ======= =========== =============== ======= =========== ====== ====== ======= +NAME get/set K Kdiag dK_dtheta dKdiag_dtheta dK_dX dKdiag_dX psi0 psi1 psi2 +==================== =========== ====== ======= =========== =============== ======= =========== ====== ====== ======= +bias |tick| |tick| |tick| |tick| |tick| |tick| |tick| |tick| |tick| |tick| +-------------------- ----------- ------ ------- ----------- --------------- ------- ----------- ------ ------ ------- +Brownian |tick| |tick| |tick| |tick| |tick| |tick| |tick| +-------------------- ----------- ------ ------- ----------- --------------- ------- ----------- ------ ------ ------- +exponential |tick| |tick| |tick| |tick| |tick| |tick| |tick| +-------------------- ----------- ------ ------- ----------- --------------- ------- ----------- ------ ------ ------- +finite_dimensional |tick| |tick| |tick| |tick| |tick| +-------------------- ----------- ------ ------- ----------- --------------- ------- ----------- ------ ------ ------- +linear |tick| |tick| |tick| |tick| |tick| |tick| |tick| |tick| |tick| +-------------------- ----------- ------ ------- ----------- --------------- ------- ----------- ------ ------ ------- +Matern32 |tick| |tick| |tick| |tick| |tick| |tick| |tick| +-------------------- ----------- ------ ------- ----------- --------------- ------- ----------- ------ ------ ------- +Matern52 |tick| |tick| |tick| |tick| |tick| |tick| |tick| +-------------------- ----------- ------ ------- ----------- --------------- ------- ----------- ------ ------ ------- +periodic_exponential |tick| |tick| |tick| |tick| |tick| +-------------------- ----------- ------ ------- ----------- --------------- ------- ----------- ------ ------ ------- +periodic_Matern32 |tick| |tick| |tick| |tick| |tick| +-------------------- ----------- ------ ------- ----------- --------------- ------- ----------- ------ ------ ------- +periodic_Matern52 |tick| |tick| |tick| |tick| |tick| +-------------------- ----------- ------ ------- ----------- --------------- ------- ----------- ------ ------ ------- +rbf |tick| |tick| |tick| |tick| |tick| |tick| |tick| |tick| |tick| |tick| +-------------------- ----------- ------ ------- ----------- --------------- ------- ----------- ------ ------ ------- +spline |tick| |tick| |tick| |tick| |tick| |tick| +-------------------- ----------- ------ ------- ----------- --------------- ------- ----------- ------ ------ ------- +white |tick| |tick| |tick| |tick| |tick| |tick| |tick| |tick| |tick| |tick| +==================== =========== ====== ======= =========== =============== ======= =========== ====== ====== ======= -.. |tick| image:: tick.png - - -====== =========== === ======= =========== =============== ======= =========== ====== ====== ======= - NAME get/set K Kdiag dK_dtheta dKdiag_dtheta dK_dX dKdiag_dX psi0 psi1 psi2 -====== =========== === ======= =========== =============== ======= =========== ====== ====== ======= -rbf \\checkmark y -====== =========== === ======= =========== =============== ======= =========== ====== ====== ======= +.. |tick| image:: Figures/tick.png diff --git a/doc/tuto_kernel_overview.rst b/doc/tuto_kernel_overview.rst index c420943b..e410696a 100644 --- a/doc/tuto_kernel_overview.rst +++ b/doc/tuto_kernel_overview.rst @@ -39,7 +39,7 @@ return:: Implemented kernels =================== -Many kernels are already implemented in GPy. A comprehensive list can be found `here `_ . The following figure gives a summary of most of them: +Many kernels are already implemented in GPy. A comprehensive list can be found `here `_ and the following figure gives a summary of most of them: .. figure:: Figures/tuto_kern_overview_allkern.png :align: center diff --git a/setup.py b/setup.py index d24171e2..b701b74d 100644 --- a/setup.py +++ b/setup.py @@ -3,8 +3,6 @@ import os from setuptools import setup -#from numpy.distutils.core import Extension, setup -#from sphinx.setup_command import BuildDoc # Version number version = '0.1.3' @@ -14,12 +12,12 @@ def read(fname): setup(name = 'GPy', version = version, - author = 'James Hensman, Nicolo Fusi, Ricardo Andrade, Nicolas Durrande, Alan Saul, Neil D. Lawrence', + author = read('AUTHORS.txt'), author_email = "james.hensman@gmail.com", description = ("The Gaussian Process Toolbox"), license = "BSD 3-clause", keywords = "machine-learning gaussian-processes kernels", - url = "http://ml.sheffield.ac.uk/GPy/", + url = "http://sheffieldml.github.com/GPy/", packages = ['GPy', 'GPy.core', 'GPy.kern', 'GPy.util', 'GPy.models', 'GPy.inference', 'GPy.examples', 'GPy.likelihoods'], package_dir={'GPy': 'GPy'}, package_data = {'GPy': ['GPy/examples']},