File size: 429 Bytes
8d015d4 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
import copy
components = {}
def register(name):
def decorator(cls):
components[name] = cls
return cls
return decorator
def make_components(model_spec, args=None):
if args is not None:
model_args = copy.deepcopy(model_spec['args'])
model_args.update(args)
else:
model_args = model_spec['args']
model = components[model_spec['name']](**model_args)
return model
|