utils.utils
class
BASE_C2G:
This is the base class for C2G models.
Class Methods
- serialize_c2g(cls, config): Serializes the configuration into a dictionary.
- deserialize_c2g(self, config): Deserializes the configuration from a dictionary.
- construct_model(self, configs): Abstract method for constructing a model. This needs to be implemented by subclasses.
Examples
>>> @register_module('test_module')
>>> class test_module(BASE_C2G):
>>> def __init__(self, a, b):
>>> self._config = {'a':a, 'b':b}
>>> self.a = a
>>> self.b = b
>>> def __call__(self):
>>> return self.a+self.b
>>> sub_module = test_module(1, 2)
>>> sub_module()
3
>>> @register_module('master_module')
>>> class master_module(BASE_C2G):
>>> def __init__(self, sub_module):
>>> self._config = {'sub_module': sub_module}
>>> self.sub_module = sub_module
>>> def __call__(self):
>>> print(self.sub_module())
>>> master_mod = master_module(sub_module)
>>> master_mod()
3
>>> save_master_module = BASE_C2G()
>>> save_master_module.serialize_c2g(master_mod._config)
{'BASE_C2G': {'SUB_MODULE': {'TEST_MODULE': {'a': 1, 'b': 2}}}}
>>> cfg._module_list
['TEST_MODULE', 'MASTER_MODULE']