Skip to content

Commit

Permalink
fix failing KerasSequenceCNN test on github
Browse files Browse the repository at this point in the history
  • Loading branch information
LonnekeScheffer committed Apr 24, 2024
1 parent 86235d3 commit 2cbb191
Showing 1 changed file with 13 additions and 2 deletions.
15 changes: 13 additions & 2 deletions test/ml_methods/test_kerasSequenceCNN.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,6 @@
from immuneML.util.PathBuilder import PathBuilder




class TestKerasSequenceCNN(TestCase):
maxDiff = None

Expand All @@ -32,6 +30,14 @@ def test_if_keras_installed(self):
except ImportError as e:
print("Test ignored since keras is not installed.")

def _recursive_convert_lists_to_tuples(self, model_description):
if isinstance(model_description, dict):
return {key: self._recursive_convert_lists_to_tuples(value) for key, value in
model_description.items()}
elif isinstance(model_description, (list, tuple, set)):
return tuple([self._recursive_convert_lists_to_tuples(item) for item in model_description])
else:
return model_description

def _test_fit(self):
import keras
Expand Down Expand Up @@ -82,6 +88,11 @@ def _test_fit(self):
for item, value in cnn_params.items():
if isinstance(value, Label):
self.assertDictEqual(vars(value), (vars(cnn2_params[item])))
elif item == "model":
model1_params = self._recursive_convert_lists_to_tuples(cnn_params["model"])
model2_params = self._recursive_convert_lists_to_tuples(cnn2_params["model"])

self.assertDictEqual(model1_params, model2_params)
else:
self.assertEqual(value, cnn2_params[item])

Expand Down

0 comments on commit 2cbb191

Please sign in to comment.