biiig changes in tieing, and printing -> hirarchy now always shown

This commit is contained in:
Max Zwiessele 2013-11-11 17:46:33 +00:00
parent ed6a45fd9b
commit 6c60eef4bd
10 changed files with 153 additions and 88 deletions

View file

@ -228,7 +228,7 @@ def Matern52(input_dim, variance=1., lengthscale=None, ARD=False):
part = parts.Matern52.Matern52(input_dim, variance, lengthscale, ARD)
return kern(input_dim, [part])
def bias(input_dim, variance=1.):
def bias(input_dim, variance=1., name='bias'):
"""
Construct a bias kernel.
@ -238,7 +238,7 @@ def bias(input_dim, variance=1.):
:type variance: float
"""
part = parts.bias.Bias(input_dim, variance)
part = parts.bias.Bias(input_dim, variance, name=name)
return kern(input_dim, [part])
def finite_dimensional(input_dim, F, G, variances=1., weights=None):

View file

@ -605,7 +605,7 @@ class Kern_check_model(Model):
self.dL_dK = dL_dK
#self.constrained_indices=[]
#self.constraints=[]
Model.__init__(self)
Model.__init__(self, 'kernel_test_model')
def is_positive_definite(self):
v = np.linalg.eig(self.kernel.K(self.X))[0]
@ -614,14 +614,14 @@ class Kern_check_model(Model):
else:
return True
# def _get_params(self):
# return self.kernel._get_params()
#
# def _get_param_names(self):
# return self.kernel._get_param_names()
#
# def _set_params(self, x):
# self.kernel._set_params(x)
def _get_params(self):
return self.kernel._get_params()
def _get_param_names(self):
return self.kernel._get_param_names()
def _set_params(self, x):
self.kernel._set_params(x)
def log_likelihood(self):
return (self.dL_dK*self.kernel.K(self.X, self.X2)).sum()

View file

@ -8,14 +8,14 @@ import hashlib
from GPy.core.parameter import Param
class Bias(Kernpart):
def __init__(self,input_dim,variance=1.):
def __init__(self,input_dim,variance=1.,name=None):
"""
:param input_dim: the number of input dimensions
:type input_dim: int
:param variance: the variance of the kernel
:type variance: float
"""
super(Bias, self).__init__(input_dim, 'bias')
super(Bias, self).__init__(input_dim, name)
self.variance = Param("variance", variance)
self.add_parameter(self.variance)
#self._set_params(np.array([variance]).flatten())

View file

@ -54,7 +54,7 @@ class RBF(Kernpart):
self.lengthscale = Param('lengthscale', lengthscale)
self.lengthscale.add_observer(self, self.update_lengthscale)
self.add_parameters(self.variance, self.lengthscale)
self.parameters_changed()
self.parameters_changed() # initializes cache
#self.update_inv_lengthscale(self.lengthscale)
#self.parameters_changed()

View file

@ -36,7 +36,9 @@ class RBFInv(RBF):
def __init__(self, input_dim, variance=1., inv_lengthscale=None, ARD=False, name='inverse rbf'):
#self.input_dim = input_dim
#self.name = 'rbf_inv'
super(RBFInv, self).__init__(input_dim, variance=variance, lengthscale=1./np.array(inv_lengthscale), ARD=ARD, name=name)
if inv_lengthscale is not None: lengthscale = 1./np.array(inv_lengthscale)
else: lengthscale = None
super(RBFInv, self).__init__(input_dim, variance=variance, lengthscale=lengthscale, ARD=ARD, name=name)
self.ARD = ARD
if not ARD:
self.num_params = 2