diff --git a/cml/shared/parameter.py b/cml/shared/parameter.py index ca883911db4287cd35326d67196e3b17bfdfca90..d6606fc09bf8b23daea9d765e6094b2376e98c21 100644 --- a/cml/shared/parameter.py +++ b/cml/shared/parameter.py @@ -1,6 +1,7 @@ # TODO (dmt): Validate user input! # TODO (dmt): Add doc! # TODO (dmt): Provide default values and the correct data type! +PROTOCOL_LEVEL = 55 class SetFeatures: @@ -323,13 +324,19 @@ class MaxModelsReduction: class MinTestAccuracy: def __init__(self): - self.min_test_accuracy = 10 + self.min_test_accuracy = 0.8 def __get__(self, instance, owner): return self.min_test_accuracy def __set__(self, instance, value): - self.min_test_accuracy = value + if isinstance(value, float): + self.min_test_accuracy = value + elif isinstance(value, str): + try: + self.min_test_accuracy = float(value) + except TypeError as error: + print(error) class MaxTestErrorAvg: @@ -340,7 +347,13 @@ class MaxTestErrorAvg: return self.max_test_error_avg def __set__(self, instance, value): - self.max_test_error_avg = value + if isinstance(value, float): + self.max_test_error_avg = value + elif isinstance(value, str): + try: + self.max_test_error_avg = float(value) + except TypeError as error: + print(error) class MaxTestErrorMax: @@ -351,7 +364,13 @@ class MaxTestErrorMax: return self.max_test_error_max def __set__(self, instance, value): - self.max_test_error_max = value + if isinstance(value, float): + self.max_test_error_max = value + elif isinstance(value, str): + try: + self.max_test_error_max = float(value) + except TypeError as error: + print(error) class ReliabilitySample: @@ -362,7 +381,13 @@ class ReliabilitySample: return self.reliability_sample def __set__(self, instance, value): - self.reliability_sample = value + if isinstance(value, float): + self.reliability_sample = value + elif isinstance(value, str): + try: + self.reliability_sample = float(value) + except TypeError as error: + print(error) class MinReliability: @@ -373,7 +398,13 @@ class MinReliability: return self.min_reliability def __set__(self, instance, value): - self.min_reliability = value + if isinstance(value, float): + self.min_reliability = value + elif isinstance(value, str): + try: + self.min_reliability = float(value) + except TypeError as error: + print(error) class ReduceModelRedundancy: @@ -384,7 +415,15 @@ class ReduceModelRedundancy: return self.reduce_model_redundancy def __set__(self, instance, value): - self.reduce_model_redundancy = value + if isinstance(value, bool): + self.reduce_model_redundancy = value + elif isinstance(value, str): + if value in ("False", "no", "false"): + self.reduce_model_redundancy = False + elif value in ("True", "yes", "true"): + self.reduce_model_redundancy = True + else: + raise TypeError() class DeconstStrategy: