[kernel] added structural tests for ind outputs kernel, but problem with gradients persist

This commit is contained in:
Max Zwiessele 2016-03-31 14:31:24 +01:00
parent 0116b03f3c
commit 88789611c2
2 changed files with 24 additions and 11 deletions

View file

@ -6,6 +6,7 @@ import numpy as np
import GPy
from GPy.core.parameterization.param import Param
from ..util.config import config
from unittest.case import skip
verbose = 0
@ -396,6 +397,13 @@ class KernelTestsNonContinuous(unittest.TestCase):
#@unittest.expectedFailure
def test_IndependentOutputs(self):
k = [GPy.kern.RBF(1, active_dims=[1], name='rbf1'), GPy.kern.RBF(self.D, active_dims=range(self.D), name='rbf012'), GPy.kern.RBF(2, active_dims=[0,2], name='rbf02')]
kern = GPy.kern.IndependentOutputs(k, -1, name='ind_split')
np.testing.assert_array_equal(kern.active_dims, [-1,0,1,2])
np.testing.assert_array_equal(kern._all_dims_active, [0,1,2,-1])
@skip('Gradients for independend outputs with different X do not work correctly')
def testIndependendGradients(self):
k = GPy.kern.RBF(self.D, active_dims=range(self.D))
kern = GPy.kern.IndependentOutputs(k, -1, 'ind_single')
self.assertTrue(check_kernel_gradient_functions(kern, X=self.X, X2=self.X2, verbose=verbose, fixed_X_dims=-1))
@ -405,6 +413,13 @@ class KernelTestsNonContinuous(unittest.TestCase):
#@unittest.expectedFailure
def test_Hierarchical(self):
k = [GPy.kern.RBF(2, active_dims=[0,2], name='rbf1'), GPy.kern.RBF(2, active_dims=[0,2], name='rbf2')]
kern = GPy.kern.IndependentOutputs(k, -1, name='ind_split')
np.testing.assert_array_equal(kern.active_dims, [-1,0,2])
np.testing.assert_array_equal(kern._all_dims_active, [0,1,2,-1])
@skip('Gradients for independend outputs with different X do not work correctly')
def test_Hierarchical_gradients(self):
k = [GPy.kern.RBF(2, active_dims=[0,2], name='rbf1'), GPy.kern.RBF(2, active_dims=[0,2], name='rbf2')]
kern = GPy.kern.IndependentOutputs(k, -1, name='ind_split')
self.assertTrue(check_kernel_gradient_functions(kern, X=self.X, X2=self.X2, verbose=verbose, fixed_X_dims=-1))