diff --git a/GPy/core/gp.py b/GPy/core/gp.py index 50f9d342..916aaa81 100644 --- a/GPy/core/gp.py +++ b/GPy/core/gp.py @@ -70,7 +70,7 @@ class GP(Model): def parameters_changed(self): self.posterior, self._log_marginal_likelihood, grad_dict = self.inference_method.inference(self.kern, self.X, self.likelihood, self.Y, Y_metadata=self.Y_metadata) - self.kern.update_gradients_full(grad_dict['dL_dK']) + self.kern.update_gradients_full(grad_dict['dL_dK'], self.X) def log_likelihood(self): return self._log_marginal_likelihood diff --git a/GPy/kern/_src/rbf.py b/GPy/kern/_src/rbf.py index 145bca5d..666a79f4 100644 --- a/GPy/kern/_src/rbf.py +++ b/GPy/kern/_src/rbf.py @@ -61,8 +61,8 @@ class RBF(Stationary): #from psi2 S = variational_posterior.variance - denom, Zdist, Zdist_sq, mudist, mudist_sq, psi2 = self._psi2computations(Z, variational_posterior) - d_length = 2.*psi2[:, :, :, None] * (Zdist_sq[None, :,:,:] * denom + mudist_sq + S[:, None, None, :] / l2) / (self.lengthscale * denom) + denom, _, Zdist_sq, _, mudist_sq, psi2 = self._psi2computations(Z, variational_posterior) + d_length = 2.*psi2[:, :, :, None] * (Zdist_sq * denom + mudist_sq + S[:, None, None, :] / l2) / (self.lengthscale * denom) #TODO: combine denom and l2 as denom_l2?? #TODO: tidy the above! #TODO: tensordot below?