mirror of
https://github.com/SheffieldML/GPy.git
synced 2026-06-08 15:05:15 +02:00
gp merge, grad dict is property of self + Y_metadata being passed through
This commit is contained in:
commit
6530af3e46
14 changed files with 204 additions and 59 deletions
|
|
@ -27,7 +27,7 @@ class GP(Model):
|
|||
|
||||
|
||||
"""
|
||||
def __init__(self, X, Y, kernel, likelihood, inference_method=None, Y_metadata=None, name='gp'):
|
||||
def __init__(self, X, Y, kernel, likelihood, inference_method=None, name='gp', **Y_metadata):
|
||||
super(GP, self).__init__(name)
|
||||
|
||||
assert X.ndim == 2
|
||||
|
|
@ -43,7 +43,7 @@ class GP(Model):
|
|||
_, self.output_dim = self.Y.shape
|
||||
|
||||
if Y_metadata is not None:
|
||||
self.Y_metadata = ObservableArray(Y_metadata)
|
||||
self.Y_metadata = Y_metadata
|
||||
else:
|
||||
self.Y_metadata = None
|
||||
|
||||
|
|
@ -56,7 +56,7 @@ class GP(Model):
|
|||
|
||||
#find a sensible inference method
|
||||
if inference_method is None:
|
||||
if isinstance(likelihood, likelihoods.Gaussian):
|
||||
if isinstance(likelihood, likelihoods.Gaussian) or isinstance(likelihood, likelihoods.MixedNoise):
|
||||
inference_method = exact_gaussian_inference.ExactGaussianInference()
|
||||
else:
|
||||
inference_method = expectation_propagation
|
||||
|
|
@ -67,8 +67,8 @@ class GP(Model):
|
|||
self.add_parameter(self.likelihood)
|
||||
|
||||
def parameters_changed(self):
|
||||
self.posterior, self._log_marginal_likelihood, self.grad_dict = self.inference_method.inference(self.kern, self.X, self.likelihood, self.Y, Y_metadata=self.Y_metadata)
|
||||
self.likelihood.update_gradients(np.diag(self.grad_dict['dL_dK']))
|
||||
self.posterior, self._log_marginal_likelihood, self.grad_dict = self.inference_method.inference(self.kern, self.X, self.likelihood, self.Y, **self.Y_metadata)
|
||||
self.likelihood.update_gradients(np.diag(self.grad_dict['dL_dK']), **self.Y_metadata)
|
||||
self.kern.update_gradients_full(self.grad_dict['dL_dK'], self.X)
|
||||
|
||||
def log_likelihood(self):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue