easycore.common.registry¶
-
class
easycore.common.registry.
Registry
(name: str)[source]¶ Bases:
object
The registry that provides name -> object mapping.
To create a registry:
MODEL_REGISTRY = Registry("MODEL")
To register an object with its
__name__
:@MODEL_REGISTRY.register() class ResNet50: pass # or MODEL_REGISTRY.register(obj=ResNet50)
To register an object with a given name:
@MODEL_REGISTRY.register("resnet") class RestNet50: pass # or MODEL_REGISTRY.register("resnet", ResNet50)
To get a registered object from registry:
model_class = MODEL_REGISTRY.get("ResNet50") # or model_class = MODEL_REGISTRY.get("resnet")
-
register
(name: str = None, obj: object = None) → Optional[object][source]¶ Register the given object with given name. If the object is not given, it will act as a decorator.
Parameters: Returns: Optional[object] – None or a decorator.
-
unregister
(name: str) → None[source]¶ Remove registered object.
Parameters: name (str) – registered name
-
is_registered
(name)[source]¶ Get whether the given name has been registered.
Parameters: name (str) – Returns: bool – whether the name has been registered.
-