pyiqa.utils.registry ==================== .. py:module:: pyiqa.utils.registry Module Contents --------------- .. py:data:: importlib_metadata :value: None .. py:class:: Registry(name, entry_point_group=None) The registry that provides name -> object mapping, to support third-party users' custom modules. To create a registry (e.g. a backbone registry): .. code-block:: python BACKBONE_REGISTRY = Registry('BACKBONE') To register an object: .. code-block:: python @BACKBONE_REGISTRY.register() class MyBackbone(): ... Or: .. code-block:: python BACKBONE_REGISTRY.register(MyBackbone) .. py:method:: register_lazy(name, import_path, aliases=None, override=False) Register an object lazily from an import path. :param name: Name used in this registry. :type name: str :param import_path: 'module.submodule' or 'module.submodule:ClassOrFn'. :type import_path: str :param aliases: Optional alias names. :type aliases: list[str] | tuple[str] | None :param override: Whether to override existing registrations. :type override: bool .. py:method:: register(obj=None, name=None, aliases=None, override=False) Register the given object. Supports decorator and direct-call forms. .. py:method:: get(name) .. py:method:: keys() .. py:data:: DATASET_REGISTRY .. py:data:: ARCH_REGISTRY .. py:data:: MODEL_REGISTRY .. py:data:: LOSS_REGISTRY .. py:data:: METRIC_REGISTRY