mirror of
https://github.com/SheffieldML/GPy.git
synced 2026-05-30 14:35:15 +02:00
restructure tie implementation and add some tests
This commit is contained in:
parent
6c226a129d
commit
077232c26f
3 changed files with 187 additions and 14 deletions
41
GPy/testing/tie_tests.py
Normal file
41
GPy/testing/tie_tests.py
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
# Copyright (c) 2012, GPy authors (see AUTHORS.txt).
|
||||
# Licensed under the BSD 3-clause license (see LICENSE.txt)
|
||||
|
||||
import unittest
|
||||
import numpy as np
|
||||
import GPy
|
||||
|
||||
class TieTests(unittest.TestCase):
|
||||
def test_tie_together(self):
|
||||
m = GPy.examples.regression.sparse_GP_regression_1D(optimize=False, plot=False, checkgrad=False)
|
||||
m.Z.constrain_positive(warning=False)
|
||||
m.Z.tie_together()
|
||||
self.assertTrue(m.ties.checkValueConsistence())
|
||||
self.assertTrue(m.ties.checkValueConsistence())
|
||||
self.assertTrue(m.ties.checkTieTogether([m.Z]))
|
||||
self.assertTrue(m.checkgrad())
|
||||
|
||||
def test_tie_together_two(self):
|
||||
m = GPy.examples.regression.sparse_GP_regression_1D(optimize=False, plot=False, checkgrad=False)
|
||||
m.Z.constrain_positive(warning=False)
|
||||
m.Z[:2].tie_together()
|
||||
m.Z[2:4].tie_together()
|
||||
self.assertTrue(m.ties.checkTieTogether([m.Z[:2]]))
|
||||
self.assertTrue(m.ties.checkTieTogether([m.Z[2:4]]))
|
||||
self.assertTrue(m.ties.checkValueConsistence())
|
||||
self.assertTrue(m.ties.checkValueConsistence())
|
||||
self.assertTrue(m.checkgrad())
|
||||
|
||||
def test_tie_together_merge(self):
|
||||
m = GPy.examples.regression.sparse_GP_regression_1D(optimize=False, plot=False, checkgrad=False)
|
||||
m.Z.constrain_positive(warning=False)
|
||||
m.Z[:2].tie_together()
|
||||
m.Z[1:3].tie_together()
|
||||
self.assertTrue(m.ties.checkTieTogether([m.Z[:3]]))
|
||||
self.assertTrue(m.ties.checkValueConsistence())
|
||||
self.assertTrue(m.ties.checkValueConsistence())
|
||||
self.assertTrue(m.checkgrad())
|
||||
|
||||
if __name__ == "__main__":
|
||||
print "Running unit tests, please be (very) patient..."
|
||||
unittest.main()
|
||||
Loading…
Add table
Add a link
Reference in a new issue