Register Mechanism¶
easycore make it easy to register an object with name, and get it later.
Create a registry¶
MODEL_REGISTRY = Registry("MODEL")
Register an object with its __name__
¶
@MODEL_REGISTRY.register()
class ResNet50:
pass
# or
MODEL_REGISTRY.register(obj=ResNet50)
Register an object with a given name¶
@MODEL_REGISTRY.register("resnet")
class RestNet50:
pass
# or
MODEL_REGISTRY.register("resnet", ResNet50)
Get a registered object from registry¶
model_class = MODEL_REGISTRY.get("ResNet50")
# or
model_class = MODEL_REGISTRY.get("resnet")