Multioutput kernel + initial test

This commit is contained in:
Siivola Eero 2017-12-27 15:25:50 +02:00
parent 87df10707c
commit 397f3ead2c
3 changed files with 11 additions and 0 deletions

View file

@ -42,3 +42,4 @@ from .src.sde_standard_periodic import sde_StdPeriodic
from .src.sde_static import sde_White, sde_Bias
from .src.sde_stationary import sde_RBF,sde_Exponential,sde_RatQuad
from .src.sde_brownian import sde_Brownian
from .src.multioutput_kern import MultioutputKern

View file

@ -206,6 +206,9 @@ class Kern(Parameterized):
dtheta = self.psicomp.psiDerivativecomputations(self, dL_dpsi0, dL_dpsi1, dL_dpsi2, Z, variational_posterior)[0]
self.gradient[:] = dtheta
def reset_gradients(self):
raise NotImplementedError
def gradients_Z_expectations(self, dL_dpsi0, dL_dpsi1, dL_dpsi2, Z, variational_posterior,
psi0=None, psi1=None, psi2=None):
"""

View file

@ -482,6 +482,13 @@ class KernelGradientTestsContinuous(unittest.TestCase):
k = GPy.kern.StdPeriodic(self.D)
k.randomize()
self.assertTrue(check_kernel_gradient_functions(k, X=self.X, X2=self.X2, verbose=verbose))
def test_MultioutputKern(self):
k1 = GPy.kern.RBF(self.D-1, ARD=True)
k1.randomize()
k2 = GPy.kern.RBF(self.D-1, ARD=True)
k2.randomize()
k = GPy.kern.MultioutputKern([k1,k2],)
def test_Precomputed(self):
Xall = np.concatenate([self.X, self.X2])