mirror of
https://github.com/SheffieldML/GPy.git
synced 2026-05-27 14:25:16 +02:00
migrate pep_tests to pytest
This commit is contained in:
parent
1df86e2216
commit
b81fe8aaeb
1 changed files with 12 additions and 5 deletions
|
|
@ -1,13 +1,12 @@
|
||||||
# Copyright (c) 2014, James Hensman, 2016, Thang Bui
|
# Copyright (c) 2014, James Hensman, 2016, Thang Bui
|
||||||
# Licensed under the BSD 3-clause license (see LICENSE.txt)
|
# Licensed under the BSD 3-clause license (see LICENSE.txt)
|
||||||
|
|
||||||
import unittest
|
|
||||||
import numpy as np
|
import numpy as np
|
||||||
import GPy
|
import GPy
|
||||||
|
|
||||||
|
|
||||||
class PEPgradienttest(unittest.TestCase):
|
class TestPEPgradient:
|
||||||
def setUp(self):
|
def setup(self):
|
||||||
######################################
|
######################################
|
||||||
# # 1 dimensional example
|
# # 1 dimensional example
|
||||||
np.random.seed(10)
|
np.random.seed(10)
|
||||||
|
|
@ -39,6 +38,7 @@ class PEPgradienttest(unittest.TestCase):
|
||||||
self.lik_noise_var = 0.01
|
self.lik_noise_var = 0.01
|
||||||
|
|
||||||
def test_pep_1d_gradients(self):
|
def test_pep_1d_gradients(self):
|
||||||
|
self.setup()
|
||||||
m = GPy.models.SparseGPRegression(self.X1D, self.Y1D)
|
m = GPy.models.SparseGPRegression(self.X1D, self.Y1D)
|
||||||
m.inference_method = GPy.inference.latent_function_inference.PEP(
|
m.inference_method = GPy.inference.latent_function_inference.PEP(
|
||||||
alpha=np.random.rand()
|
alpha=np.random.rand()
|
||||||
|
|
@ -46,6 +46,7 @@ class PEPgradienttest(unittest.TestCase):
|
||||||
assert m.checkgrad()
|
assert m.checkgrad()
|
||||||
|
|
||||||
def test_pep_2d_gradients(self):
|
def test_pep_2d_gradients(self):
|
||||||
|
self.setup()
|
||||||
m = GPy.models.SparseGPRegression(self.X2D, self.Y2D)
|
m = GPy.models.SparseGPRegression(self.X2D, self.Y2D)
|
||||||
m.inference_method = GPy.inference.latent_function_inference.PEP(
|
m.inference_method = GPy.inference.latent_function_inference.PEP(
|
||||||
alpha=np.random.rand()
|
alpha=np.random.rand()
|
||||||
|
|
@ -53,6 +54,7 @@ class PEPgradienttest(unittest.TestCase):
|
||||||
assert m.checkgrad()
|
assert m.checkgrad()
|
||||||
|
|
||||||
def test_pep_vfe_consistency(self):
|
def test_pep_vfe_consistency(self):
|
||||||
|
self.setup()
|
||||||
vfe_model = GPy.models.SparseGPRegression(
|
vfe_model = GPy.models.SparseGPRegression(
|
||||||
self.X1, self.Y1, kernel=self.kernel, Z=self.Z
|
self.X1, self.Y1, kernel=self.kernel, Z=self.Z
|
||||||
)
|
)
|
||||||
|
|
@ -69,9 +71,12 @@ class PEPgradienttest(unittest.TestCase):
|
||||||
pep_model.Gaussian_noise.variance = self.lik_noise_var
|
pep_model.Gaussian_noise.variance = self.lik_noise_var
|
||||||
pep_lml = pep_model.log_likelihood()
|
pep_lml = pep_model.log_likelihood()
|
||||||
|
|
||||||
self.assertAlmostEqual(vfe_lml[0, 0], pep_lml[0], delta=abs(0.01 * pep_lml[0]))
|
np.testing.assert_almost_equal(
|
||||||
|
vfe_lml[0, 0], pep_lml[0], decimal=abs(0.01 * pep_lml[0])
|
||||||
|
)
|
||||||
|
|
||||||
def test_pep_fitc_consistency(self):
|
def test_pep_fitc_consistency(self):
|
||||||
|
self.setup()
|
||||||
fitc_model = GPy.models.SparseGPRegression(
|
fitc_model = GPy.models.SparseGPRegression(
|
||||||
self.X1D, self.Y1D, kernel=self.kernel, Z=self.Z
|
self.X1D, self.Y1D, kernel=self.kernel, Z=self.Z
|
||||||
)
|
)
|
||||||
|
|
@ -88,4 +93,6 @@ class PEPgradienttest(unittest.TestCase):
|
||||||
pep_model.Gaussian_noise.variance = self.lik_noise_var
|
pep_model.Gaussian_noise.variance = self.lik_noise_var
|
||||||
pep_lml = pep_model.log_likelihood()
|
pep_lml = pep_model.log_likelihood()
|
||||||
|
|
||||||
self.assertAlmostEqual(fitc_lml, pep_lml[0], delta=abs(0.001 * pep_lml[0]))
|
np.testing.assert_almost_equal(
|
||||||
|
fitc_lml, pep_lml[0], decimal=abs(0.001 * pep_lml[0])
|
||||||
|
)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue