From c3f80ece5d330636069e41a2e9ecef5f0acb84b1 Mon Sep 17 00:00:00 2001 From: Alan Saul Date: Mon, 20 Apr 2015 10:07:36 +0100 Subject: [PATCH] Updated svgp kernel gradients --- GPy/core/svgp.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/GPy/core/svgp.py b/GPy/core/svgp.py index fd48a7ab..284386b3 100644 --- a/GPy/core/svgp.py +++ b/GPy/core/svgp.py @@ -54,12 +54,14 @@ class SVGP(SparseGP): self.kern.update_gradients_full(self.grad_dict['dL_dKmm'], self.Z) grad = self.kern.gradient.copy() self.kern.update_gradients_full(self.grad_dict['dL_dKmn'], self.Z, self.X) - grad += self.kern.gradient + grad += self.kern.gradient.copy() self.kern.update_gradients_diag(self.grad_dict['dL_dKdiag'], self.X) - self.kern.gradient += grad + grad += self.kern.gradient.copy() + self.kern.gradient = grad if not self.Z.is_fixed:# only compute these expensive gradients if we need them self.Z.gradient = self.kern.gradients_X(self.grad_dict['dL_dKmm'], self.Z) + self.kern.gradients_X(self.grad_dict['dL_dKmn'], self.Z, self.X) + self.likelihood.update_gradients(self.grad_dict['dL_dthetaL']) #update the variational parameter gradients: self.m.gradient = self.grad_dict['dL_dm']