independent outputs kernel now works correctly for symmetrical arguments

This commit is contained in:
James Hensman 2015-10-20 15:09:14 +01:00
parent ff9ab62db2
commit 91bfe70b6a
3 changed files with 1550 additions and 1564 deletions

View file

@ -63,7 +63,8 @@ class IndependentOutputs(CombinationKernel):
kerns = itertools.repeat(self.kern) if self.single_kern else self.kern
if X2 is None:
target = np.zeros((X.shape[0], X.shape[0]))
[[target.__setitem__((s,ss), kern.K(X[s,:], X[ss,:])) for s,ss in itertools.product(slices_i, slices_i)] for kern, slices_i in zip(kerns, slices)]
#[[target.__setitem__((s,ss), kern.K(X[s,:], X[ss,:])) for s,ss in itertools.product(slices_i, slices_i)] for kern, slices_i in zip(kerns, slices)]
[[target.__setitem__((s,ss), kern.K(X[s,:]) if s==ss else kern.K(X[s,:], X[ss,:])) for s,ss in itertools.product(slices_i, slices_i)] for kern, slices_i in zip(kerns, slices)]
else:
slices2 = index_to_slices(X2[:,self.index_dim])
target = np.zeros((X.shape[0], X2.shape[0]))

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff