From e4212c7c6e84c92ec70ad3716b21220d6919d3b3 Mon Sep 17 00:00:00 2001 From: Nikolai Hartmann <Nikolai.Hartmann@physik.uni-muenchen.de> Date: Mon, 19 Nov 2018 14:14:13 +0100 Subject: [PATCH] add regression targets to models --- toolkit.py | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/toolkit.py b/toolkit.py index cb32d90..620d3f6 100755 --- a/toolkit.py +++ b/toolkit.py @@ -734,8 +734,14 @@ class ClassificationProject(object): # one output node for binary classification output_layer = Dense(1, activation=self.activation_function_output)(hidden_layer) + outputs = [output_layer] - self._model = Model(inputs=[input_layer], outputs=[output_layer]) + # optional regression targets + for target_field in self.target_fields: + extra_target = Dense(1, activation="linear", name="target_{}".format(target_field))(hidden_layer) + outputs.append(extra_target) + + self._model = Model(inputs=[input_layer], outputs=outputs) self._compile_or_load_model() return self._model @@ -1861,7 +1867,14 @@ class ClassificationProjectRNN(ClassificationProject): if (dropout_fraction is not None) and (dropout_fraction > 0): combined = Dropout(rate=dropout_fraction)(combined) combined = Dense(1, activation=self.activation_function_output)(combined) - self._model = Model(inputs=rnn_inputs+[flat_input], outputs=combined) + outputs = [combined] + + # optional regression targets + for target_field in self.target_fields: + extra_target = Dense(1, activation="linear", name="target_{}".format(target_field))(combined) + outputs.append(extra_target) + + self._model = Model(inputs=rnn_inputs+[flat_input], outputs=outputs) self._compile_or_load_model() return self._model -- GitLab