From 9f9452ecf487e6b6a359725c691f8915a1cd23c1 Mon Sep 17 00:00:00 2001 From: allegroai <> Date: Fri, 19 Jun 2020 19:09:27 +0300 Subject: [PATCH] Automation Parameter serialization type name --- trains/automation/parameters.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/trains/automation/parameters.py b/trains/automation/parameters.py index 89d2f7a8..fe9b52ae 100644 --- a/trains/automation/parameters.py +++ b/trains/automation/parameters.py @@ -37,6 +37,7 @@ class Parameter(RandomSeed): """ The base hyper-parameter optimization object. """ + _class_type_serialize_name = 'type' def __init__(self, name): # type: (Optional[str]) -> () @@ -79,7 +80,7 @@ class Parameter(RandomSeed): :return: dict representation of the object (serialization). """ - serialize = {'type.': str(self.__class__).split('.')[-1][:-2]} + serialize = {self._class_type_serialize_name: str(self.__class__).split('.')[-1][:-2]} # noinspection PyCallingNonCallable serialize.update(dict(((k, v.to_dict() if hasattr(v, 'to_dict') else v) for k, v in self.__dict__.items()))) return serialize @@ -93,7 +94,7 @@ class Parameter(RandomSeed): :return: The Parameter object. """ a_dict = a_dict.copy() - a_cls = a_dict.pop('type.', None) + a_cls = a_dict.pop(cls._class_type_serialize_name, None) if not a_cls: return None try: @@ -101,8 +102,9 @@ class Parameter(RandomSeed): except AttributeError: return None instance = a_cls.__new__(a_cls) - instance.__dict__ = dict((k, cls.from_dict(v) if isinstance(v, dict) and 'type.' in v else v) - for k, v in a_dict.items()) + instance.__dict__ = dict( + (k, cls.from_dict(v) if isinstance(v, dict) and cls._class_type_serialize_name in v else v) + for k, v in a_dict.items()) return instance