From 6b5a027047f17c104438ce90d0c877250d8df7b3 Mon Sep 17 00:00:00 2001 From: James Hensman Date: Thu, 27 Aug 2015 11:53:30 +0100 Subject: [PATCH 1/2] adding a white kernel to a sparseGP test for stability --- GPy/testing/model_tests.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/GPy/testing/model_tests.py b/GPy/testing/model_tests.py index 06e197f8..cb5c6eea 100644 --- a/GPy/testing/model_tests.py +++ b/GPy/testing/model_tests.py @@ -352,8 +352,8 @@ class GradientTests(np.testing.TestCase): self.check_model(rbf, model_type='SparseGPRegression', dimension=2) def test_SparseGPRegression_rbf_linear_white_kern_1D(self): - ''' Testing the sparse GP regression with rbf kernel on 2d data ''' - rbflin = GPy.kern.RBF(1) + GPy.kern.Linear(1) + ''' Testing the sparse GP regression with rbf kernel on 1d data ''' + rbflin = GPy.kern.RBF(1) + GPy.kern.Linear(1) + GPy.kern.White(1, 1e-5) self.check_model(rbflin, model_type='SparseGPRegression', dimension=1) def test_SparseGPRegression_rbf_linear_white_kern_2D(self): From ea07870e811e28bb72b4213b1001cf669a622129 Mon Sep 17 00:00:00 2001 From: James Hensman Date: Thu, 27 Aug 2015 12:00:55 +0100 Subject: [PATCH 2/2] fixed random seed for kronecker tests --- GPy/testing/model_tests.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/GPy/testing/model_tests.py b/GPy/testing/model_tests.py index cb5c6eea..dba9e5df 100644 --- a/GPy/testing/model_tests.py +++ b/GPy/testing/model_tests.py @@ -472,6 +472,7 @@ class GradientTests(np.testing.TestCase): self.assertTrue(m.checkgrad()) def test_gp_kronecker_gaussian(self): + np.random.seed(0) N1, N2 = 30, 20 X1 = np.random.randn(N1, 1) X2 = np.random.randn(N2, 1) @@ -492,16 +493,16 @@ class GradientTests(np.testing.TestCase): m.randomize() mm[:] = m[:] - assert np.allclose(m.log_likelihood(), mm.log_likelihood()) - assert np.allclose(m.gradient, mm.gradient) + self.assertTrue(np.allclose(m.log_likelihood(), mm.log_likelihood())) + self.assertTrue(np.allclose(m.gradient, mm.gradient)) X1test = np.random.randn(100, 1) X2test = np.random.randn(100, 1) mean1, var1 = m.predict(X1test, X2test) yy, xx = np.meshgrid(X2test, X1test) Xgrid = np.vstack((xx.flatten(order='F'), yy.flatten(order='F'))).T mean2, var2 = mm.predict(Xgrid) - assert np.allclose(mean1, mean2) - assert np.allclose(var1, var2) + self.assertTrue( np.allclose(mean1, mean2) ) + self.assertTrue( np.allclose(var1, var2) ) def test_gp_VGPC(self): num_obs = 25