diff --git a/mlair/model_modules/convolutional_networks.py b/mlair/model_modules/convolutional_networks.py index 2270c1ee2abf8b17913e6017181cffcde17bd923..7bdd2ce210c126bf47dcf02c28f4efaacf789457 100644 --- a/mlair/model_modules/convolutional_networks.py +++ b/mlair/model_modules/convolutional_networks.py @@ -75,7 +75,7 @@ class CNNfromConfig(AbstractModelClass): # apply to model self.set_model() self.set_compile_options() - self.set_custom_objects(loss=custom_loss([keras.losses.mean_squared_error, var_loss]), var_loss=var_loss) + self.set_custom_objects(loss=self.compile_options["loss"][0], var_loss=var_loss) def set_model(self): x_input = keras.layers.Input(shape=self._input_shape) diff --git a/mlair/run_modules/model_setup.py b/mlair/run_modules/model_setup.py index bf09ac6fc8c63bcfc31024dafb550c84e0ff5df4..b51a3f9c76ace4feef72e4c96945b463fb69a673 100644 --- a/mlair/run_modules/model_setup.py +++ b/mlair/run_modules/model_setup.py @@ -224,10 +224,13 @@ class ModelSetup(RunEnvironment): if v is None: continue if isinstance(v, list): - if isinstance(v[0], dict): - v = ["{" + vi + "}" for vi in [",".join(f"{_f(str(uk))}:{_f(str(uv))}" for uk, uv in d.items()) for d in v]] + if len(v) > 0: + if isinstance(v[0], dict): + v = ["{" + vi + "}" for vi in [",".join(f"{_f(str(uk))}:{_f(str(uv))}" for uk, uv in d.items()) for d in v]] + else: + v = ",".join(_f(str(u)) for u in v) else: - v = ",".join(_f(str(u)) for u in v) + v = "[]" if "<" in str(v): v = _f(str(v)) df.loc[k] = str(v)