From 0332fa14f89b6389d284c6cb2b1abb5371084a2c Mon Sep 17 00:00:00 2001 From: Max Zwiessele Date: Fri, 26 Apr 2013 17:17:36 +0100 Subject: [PATCH] tests ignored my nosetests (__test__ = False) --- GPy/testing/kern_psi_stat_tests.py | 91 ++++++++++++++++-------------- 1 file changed, 48 insertions(+), 43 deletions(-) diff --git a/GPy/testing/kern_psi_stat_tests.py b/GPy/testing/kern_psi_stat_tests.py index 6e79e50d..581de9be 100644 --- a/GPy/testing/kern_psi_stat_tests.py +++ b/GPy/testing/kern_psi_stat_tests.py @@ -8,6 +8,8 @@ import GPy import numpy as np import pylab +__test__ = False + class Test(unittest.TestCase): D = 9 M = 5 @@ -30,49 +32,52 @@ class Test(unittest.TestCase): self.q_x_mean.shape = (1, self.D) self.q_x_variance.shape = (1, self.D) -# def test_psi0(self): -# for kern in self.kerns: -# psi0 = kern.psi0(self.Z, self.q_x_mean, self.q_x_variance) -# Kdiag = kern.Kdiag(self.q_x_samples) -# self.assertAlmostEqual(psi0, np.mean(Kdiag), 1) -# # print kern.parts[0].name, np.allclose(psi0, np.mean(Kdiag)) -# -# def test_psi1(self): -# for kern in self.kerns: -# Nsamples = 100 -# psi1 = kern.psi1(self.Z, self.q_x_mean, self.q_x_variance) -# K_ = np.zeros((self.N, self.M)) -# diffs = [] -# for i, q_x_sample_stripe in enumerate(np.array_split(self.q_x_samples, self.Nsamples / Nsamples)): -# K = kern.K(q_x_sample_stripe, self.Z) -# K_ += K -# diffs.append(((psi1 - (K_ / (i + 1))) ** 2).mean()) -# K_ /= self.Nsamples / Nsamples -# # pylab.figure("+".join([p.name for p in kern.parts]) + "psi1") -# # pylab.plot(diffs) -# self.assertTrue(np.allclose(psi1.flatten() , K.mean(0), rtol=1e-1)) -# -# def test_psi2(self): -# for kern in self.kerns: -# Nsamples = 100 -# psi2 = kern.psi2(self.Z, self.q_x_mean, self.q_x_variance) -# K_ = np.zeros((self.M, self.M)) -# diffs = [] -# for i, q_x_sample_stripe in enumerate(np.array_split(self.q_x_samples, self.Nsamples / Nsamples)): -# K = kern.K(q_x_sample_stripe, self.Z) -# K = (K[:, :, None] * K[:, None, :]).mean(0) -# K_ += K -# diffs.append(((psi2 - (K_ / (i + 1))) ** 2).mean()) -# K_ /= self.Nsamples / Nsamples -# try: -# # pylab.figure("+".join([p.name for p in kern.parts]) + "psi2") -# # pylab.plot(diffs) -# self.assertTrue(np.allclose(psi2.squeeze(), K_, -# rtol=1e-1, atol=.1), -# msg="{}: not matching".format("+".join([p.name for p in kern.parts]))) -# except: -# print "{}: not matching".format(kern.parts[0].name) + def test_psi0(self): + for kern in self.kerns: + psi0 = kern.psi0(self.Z, self.q_x_mean, self.q_x_variance) + Kdiag = kern.Kdiag(self.q_x_samples) + self.assertAlmostEqual(psi0, np.mean(Kdiag), 1) + # print kern.parts[0].name, np.allclose(psi0, np.mean(Kdiag)) + + def test_psi1(self): + for kern in self.kerns: + Nsamples = 100 + psi1 = kern.psi1(self.Z, self.q_x_mean, self.q_x_variance) + K_ = np.zeros((self.N, self.M)) + diffs = [] + for i, q_x_sample_stripe in enumerate(np.array_split(self.q_x_samples, self.Nsamples / Nsamples)): + K = kern.K(q_x_sample_stripe, self.Z) + K_ += K + diffs.append(((psi1 - (K_ / (i + 1))) ** 2).mean()) + K_ /= self.Nsamples / Nsamples +# pylab.figure("+".join([p.name for p in kern.parts]) + "psi1") +# pylab.plot(diffs) + self.assertTrue(np.allclose(psi1.flatten() , K.mean(0), rtol=1e-1)) + + def test_psi2(self): + for kern in self.kerns: + Nsamples = 100 + psi2 = kern.psi2(self.Z, self.q_x_mean, self.q_x_variance) + K_ = np.zeros((self.M, self.M)) + diffs = [] + for i, q_x_sample_stripe in enumerate(np.array_split(self.q_x_samples, self.Nsamples / Nsamples)): + K = kern.K(q_x_sample_stripe, self.Z) + K = (K[:, :, None] * K[:, None, :]).mean(0) + K_ += K + diffs.append(((psi2 - (K_ / (i + 1))) ** 2).mean()) + K_ /= self.Nsamples / Nsamples + try: +# pylab.figure("+".join([p.name for p in kern.parts]) + "psi2") +# pylab.plot(diffs) + self.assertTrue(np.allclose(psi2.squeeze(), K_, + rtol=1e-1, atol=.1), + msg="{}: not matching".format("+".join([p.name for p in kern.parts]))) + except: + print "{}: not matching".format(kern.parts[0].name) if __name__ == "__main__": - import sys;sys.argv = ['', 'Test.test_psi2'] + import sys;sys.argv = ['', + 'Test.test_psi0', + 'Test.test_psi1', + 'Test.test_psi2'] unittest.main()