diff --git a/GPy/core/parameterization/param.py b/GPy/core/parameterization/param.py index 15b077a9..4c2cb469 100644 --- a/GPy/core/parameterization/param.py +++ b/GPy/core/parameterization/param.py @@ -85,7 +85,7 @@ class Param(ObservableArray, Constrainable, Gradcheckable, Indexable, Parentable def gradient(self): if self._gradient_ is None: self._gradient_ = numpy.zeros(self._realshape_) - return self._gradient_ + return self._gradient_[self._current_slice_] @gradient.setter def gradient(self, val): self.gradient[:] = val diff --git a/GPy/kern/_src/rbf.py b/GPy/kern/_src/rbf.py index 0508436f..65b65120 100644 --- a/GPy/kern/_src/rbf.py +++ b/GPy/kern/_src/rbf.py @@ -177,7 +177,7 @@ class RBF(Kern): tmp = self._psi1[:, :, None] / self.lengthscale2 / self._psi1_denom grad_mu = np.sum(dL_dpsi1[:, :, None] * tmp * self._psi1_dist, 1) grad_S = np.sum(dL_dpsi1[:, :, None] * 0.5 * tmp * (self._psi1_dist_sq - 1), 1) - + #psi2 tmp = self._psi2[:, :, :, None] / self.lengthscale2 / self._psi2_denom grad_mu += -2.*(dL_dpsi2[:, :, :, None] * tmp * self._psi2_mudist).sum(1).sum(1) grad_S += (dL_dpsi2[:, :, :, None] * tmp * (2.*self._psi2_mudist_sq - 1)).sum(1).sum(1)