diff --git a/GPy/core/model.py b/GPy/core/model.py index 28bb4ff5..f70125fd 100644 --- a/GPy/core/model.py +++ b/GPy/core/model.py @@ -264,8 +264,11 @@ class model(parameterised): return - LL_gradients - prior_gradients def objective_and_gradients(self, x): - obj_f = self.objective_function(x) - obj_grads = self.objective_function_gradients(x) + self._set_params_transformed(x) + obj_f = -self.log_likelihood() - self.log_prior() + LL_gradients = self._transform_gradients(self._log_likelihood_gradients()) + prior_gradients = self._transform_gradients(self._log_prior_gradients()) + obj_grads = - LL_gradients - prior_gradients return obj_f, obj_grads def optimize(self, optimizer=None, start=None, **kwargs):