diff --git a/GPy/kern/src/diff_kern.py b/GPy/kern/src/diff_kern.py index 2c141ef5..df939c57 100644 --- a/GPy/kern/src/diff_kern.py +++ b/GPy/kern/src/diff_kern.py @@ -48,7 +48,7 @@ class DiffKern(CombinationKernel): self.base_kern.reset_gradients() def get_gradient(self): - return self.base_kern.gradient.copy() + return self.base_kern.gradient def append_gradient(self, gradient): self.base_kern.gradient += gradient diff --git a/GPy/kern/src/kern.py b/GPy/kern/src/kern.py index bf0062af..20061bc5 100644 --- a/GPy/kern/src/kern.py +++ b/GPy/kern/src/kern.py @@ -202,7 +202,7 @@ class Kern(Parameterized): raise NotImplementedError def get_gradient(self): - return self.gradient.copy() + return self.gradient def append_gradient(self,gradient): self.gradient += gradient diff --git a/GPy/kern/src/multioutput_derivative_kern.py b/GPy/kern/src/multioutput_derivative_kern.py index 0a969239..4054947a 100644 --- a/GPy/kern/src/multioutput_derivative_kern.py +++ b/GPy/kern/src/multioutput_derivative_kern.py @@ -23,7 +23,7 @@ class KernWrapper(Kern): return self.fg(dL_dK, X, X2=X2) def get_gradient(self): - return self.base_kern.gradient.copy() + return self.base_kern.gradient def append_gradient(self, gradient): self.base_kern.gradient += gradient diff --git a/GPy/kern/src/multioutput_kern.py b/GPy/kern/src/multioutput_kern.py index 61b7a6d5..a28d5bbb 100644 --- a/GPy/kern/src/multioutput_kern.py +++ b/GPy/kern/src/multioutput_kern.py @@ -97,12 +97,12 @@ class MultioutputKern(CombinationKernel): return target def _update_gradients_full_wrapper(self, cov_struct, dL_dK, X, X2): - gradient = cov_struct['kern'].get_gradient() + gradient = cov_struct['kern'].get_gradient().copy() cov_struct['update_gradients_full'](dL_dK, X, X2) cov_struct['kern'].append_gradient(gradient) def _update_gradients_diag_wrapper(self, kern, dL_dKdiag, X): - gradient = kern.get_gradient() + gradient = kern.get_gradient().copy() kern.update_gradients_diag(dL_dKdiag, X) kern.append_gradient(gradient)