input sensitivity for rbf_inv

This commit is contained in:
Andreas 2013-07-17 21:42:30 +01:00
parent 3de342506f
commit f56b66cd7a

View file

@ -477,13 +477,15 @@ class Model(Parameterized):
if not hasattr(self, 'kern'): if not hasattr(self, 'kern'):
raise ValueError, "this Model has no kernel" raise ValueError, "this Model has no kernel"
k = [p for p in self.kern.parts if p.name in ['rbf', 'linear']] k = [p for p in self.kern.parts if p.name in ['rbf', 'linear','rbf_inv']]
if (not len(k) == 1) or (not k[0].ARD): if (not len(k) == 1) or (not k[0].ARD):
raise ValueError, "cannot determine sensitivity for this kernel" raise ValueError, "cannot determine sensitivity for this kernel"
k = k[0] k = k[0]
if k.name == 'rbf': if k.name == 'rbf':
return k.lengthscale return k.lengthscale
elif k.name == 'rbf_inv':
return 1. / k.inv_lengthscale
elif k.name == 'linear': elif k.name == 'linear':
return 1. / k.variances return 1. / k.variances