test + code change in gradients_X

This commit is contained in:
Daniel Beck 2015-02-09 10:02:26 +11:00
parent fc8705104b
commit 98c743d157
2 changed files with 23 additions and 14 deletions

View file

@ -400,25 +400,27 @@ class Coregionalize_weave_test(unittest.TestCase):
#reset the weave state for any other tests
GPy.util.config.config.set('weave', 'working', 'False')
class KernelTestsProductWithZeroValues(unittest.TestCase):
def test_zero_valued_kernel(self):
X = np.array([[0,1],[1,0]])
Y = np.array([[1],[10]])
lin = GPy.kern.Linear(2)
bias = GPy.kern.Bias(2)
k = lin * bias
k.update_gradients_full(1, X)
self.assertFalse(np.isnan(k['linear.variances'].gradient),
def setUp(self):
self.X = np.array([[0,1],[1,0]])
self.k = GPy.kern.Linear(2) * GPy.kern.Bias(2)
def test_zero_valued_kernel_full(self):
self.k.update_gradients_full(1, self.X)
self.assertFalse(np.isnan(self.k['linear.variances'].gradient),
"Gradient resulted in NaN")
def test_zero_valued_kernel_gradients_X(self):
target = self.k.gradients_X(1, self.X)
self.assertFalse(np.any(np.isnan(target)),
"Gradient resulted in NaN")
if __name__ == "__main__":
print "Running unit tests, please be (very) patient..."
unittest.main()
#suite = unittest.TestLoader().loadTestsFromTestCase(KernelTestsProductWithZeroValues)
#unittest.TextTestRunner().run(suite)
# np.random.seed(0)
# N0 = 3