From 49e272c4493e38fcccef77d3730659891a37f96e Mon Sep 17 00:00:00 2001 From: gehbiszumeis <16896724+gehbiszumeis@users.noreply.github.com> Date: Fri, 29 Oct 2021 13:33:01 +0200 Subject: [PATCH] new: added possibility to build MixedNoise likelihood from input_dict --- GPy/likelihoods/mixed_noise.py | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/GPy/likelihoods/mixed_noise.py b/GPy/likelihoods/mixed_noise.py index 67102b20..50289e44 100644 --- a/GPy/likelihoods/mixed_noise.py +++ b/GPy/likelihoods/mixed_noise.py @@ -91,11 +91,21 @@ class MixedNoise(Likelihood): """ # input_dict = super(MixedNoise, self)._save_to_input_dict() - input_dict = {} - input_dict["name"] = self.name - input_dict["class"] = "GPy.likelihoods.MixedNoise" - input_dict["likelihood_list"] = {} + input_dict = {"name": self.name, + "class": "GPy.likelihoods.MixedNoise", + "likelihoods_list": []} for ii in range(len(self.likelihoods_list)): - input_dict["likelihood_list"][ii] = self.likelihoods_list[ii].to_dict() + input_dict["likelihoods_list"].append(self.likelihoods_list[ii].to_dict()) - return input_dict \ No newline at end of file + return input_dict + + @staticmethod + def _build_from_input_dict(likelihood_class, input_dict): + import copy + input_dict = copy.deepcopy(input_dict) + # gp_link_dict = input_dict.pop('gp_link_dict') + # import GPy + # gp_link = GPy.likelihoods.link_functions.GPTransformation.from_dict(gp_link_dict) + # input_dict["gp_link"] = gp_link + input_dict['likelihoods_list'] = [Likelihood.from_dict(l) for l in input_dict['likelihoods_list']] + return likelihood_class(**input_dict)