mirror of
https://github.com/SheffieldML/GPy.git
synced 2026-05-01 15:52:39 +02:00
kern fix. All tests now pass
This commit is contained in:
parent
f627c0b1cd
commit
028fa93d36
2 changed files with 6 additions and 6 deletions
|
|
@ -94,10 +94,10 @@ class IndependentOutputs(CombinationKernel):
|
||||||
else:
|
else:
|
||||||
slices2 = index_to_slices(X2[:,self.index_dim])
|
slices2 = index_to_slices(X2[:,self.index_dim])
|
||||||
[[[collate_grads(kern, i, dL_dK[s,s2],X[s],X2[s2]) for s in slices_i] for s2 in slices_j] for i,(kern,slices_i,slices_j) in enumerate(zip(kerns,slices,slices2))]
|
[[[collate_grads(kern, i, dL_dK[s,s2],X[s],X2[s2]) for s in slices_i] for s2 in slices_j] for i,(kern,slices_i,slices_j) in enumerate(zip(kerns,slices,slices2))]
|
||||||
|
|
||||||
if self.single_kern:
|
if self.single_kern:
|
||||||
kern.gradient = target
|
self.kern.gradient = target
|
||||||
else:[kern.gradient.__setitem__(Ellipsis, target[i]) for i, [kern, _] in enumerate(zip(kerns, slices))]
|
else:
|
||||||
|
[kern.gradient.__setitem__(Ellipsis, target[i]) for i, [kern, _] in enumerate(zip(kerns, slices))]
|
||||||
|
|
||||||
def gradients_X(self,dL_dK, X, X2=None):
|
def gradients_X(self,dL_dK, X, X2=None):
|
||||||
target = np.zeros(X.shape)
|
target = np.zeros(X.shape)
|
||||||
|
|
@ -144,7 +144,7 @@ class IndependentOutputs(CombinationKernel):
|
||||||
if self.single_kern: target[:] += kern.gradient
|
if self.single_kern: target[:] += kern.gradient
|
||||||
else: target[i][:] += kern.gradient
|
else: target[i][:] += kern.gradient
|
||||||
[[collate_grads(kern, i, dL_dKdiag[s], X[s,:]) for s in slices_i] for i, (kern, slices_i) in enumerate(zip(kerns, slices))]
|
[[collate_grads(kern, i, dL_dKdiag[s], X[s,:]) for s in slices_i] for i, (kern, slices_i) in enumerate(zip(kerns, slices))]
|
||||||
if self.single_kern: kern.gradient = target
|
if self.single_kern: self.kern.gradient = target
|
||||||
else:[kern.gradient.__setitem__(Ellipsis, target[i]) for i, [kern, _] in enumerate(zip(kerns, slices))]
|
else:[kern.gradient.__setitem__(Ellipsis, target[i]) for i, [kern, _] in enumerate(zip(kerns, slices))]
|
||||||
|
|
||||||
class Hierarchical(CombinationKernel):
|
class Hierarchical(CombinationKernel):
|
||||||
|
|
|
||||||
|
|
@ -329,9 +329,9 @@ class MRD(BayesianGPLVMMiniBatch):
|
||||||
|
|
||||||
def __getstate__(self):
|
def __getstate__(self):
|
||||||
state = super(MRD, self).__getstate__()
|
state = super(MRD, self).__getstate__()
|
||||||
if state.has_key('kern'):
|
if 'kern' in state:
|
||||||
del state['kern']
|
del state['kern']
|
||||||
if state.has_key('likelihood'):
|
if 'likelihood' in state:
|
||||||
del state['likelihood']
|
del state['likelihood']
|
||||||
return state
|
return state
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue