From 34a5e7ed700fb1ccf97b803bc7d2676c03e23e4b Mon Sep 17 00:00:00 2001 From: mzwiessele Date: Tue, 13 Feb 2018 00:37:27 +0100 Subject: [PATCH] fix: #568, product kernel resolution --- GPy/kern/src/prod.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/GPy/kern/src/prod.py b/GPy/kern/src/prod.py index 43314e7a..31e62392 100644 --- a/GPy/kern/src/prod.py +++ b/GPy/kern/src/prod.py @@ -31,13 +31,16 @@ class Prod(CombinationKernel): """ def __init__(self, kernels, name='mul'): - for i, kern in enumerate(kernels[:]): + _newkerns = [] + for kern in kernels: if isinstance(kern, Prod): - del kernels[i] - for part in kern.parts[::-1]: - kern.unlink_parameter(part) - kernels.insert(i, part) - super(Prod, self).__init__(kernels, name) + for part in kern.parts: + #kern.unlink_parameter(part) + _newkerns.append(part.copy()) + else: + _newkerns.append(kern.copy()) + + super(Prod, self).__init__(_newkerns, name) def to_dict(self): input_dict = super(Prod, self)._to_dict()