Registry¶
-
class
deepreg.registry.Registry¶ Registry maintains a dictionary which maps (category, key) to value.
Multiple __init__.py files have been modified so that the classes are registered when executing:
from deepreg.registry import REGISTRY
References:
https://github.com/open-mmlab/mmdetection/blob/master/mmdet/models/builder.py
https://github.com/open-mmlab/mmcv/blob/master/mmcv/utils/registry.py
https://towardsdatascience.com/whats-init-for-me-d70a312da583
Init registry with empty dict.
-
_register(category: str, key: str, value: Callable, force: bool)¶ Registers the value with the registry.
- Parameters
category – name of the class category
key – unique identity
value – class to be registered
force – if True, overwrite the existing value in case the key has been registered.
-
build_backbone(config: Dict, default_args: Optional[dict] = None) → Any¶ Instantiate a registered backbone class.
- Parameters
config – config having key name.
default_args – optionally some default arguments.
- Returns
a backbone instance
-
build_data_augmentation(config: Dict, default_args: Optional[dict] = None) → Callable¶ Instantiate a registered data augmentation class.
- Parameters
config – config having key name.
default_args – optionally some default arguments.
- Returns
a data augmentation instance
-
build_data_loader(config: Dict, default_args: Optional[dict] = None) → Any¶ Instantiate a registered data loader class.
- Parameters
config – config having key name.
default_args – optionally some default arguments.
- Returns
a loss instance
-
build_from_config(category: str, config: Dict, default_args: Optional[dict] = None) → Any¶ Build a class instance from config dict.
- Parameters
category – category name.
config – a dict which must contain the key “name”.
default_args – optionally some default arguments.
- Returns
the instantiated class.
-
build_loss(config: Dict, default_args: Optional[dict] = None) → Callable¶ Instantiate a registered loss class.
- Parameters
config – config having key name.
default_args – optionally some default arguments.
- Returns
a loss instance
-
build_model(config: Dict, default_args: Optional[dict] = None) → Any¶ Instantiate a registered model class.
- Parameters
config – config having key name.
default_args – optionally some default arguments.
- Returns
a model instance
-
contains(category: str, key: str) → bool¶ Verify if the key has been registered for the category.
- Parameters
category – category name.
key – value name.
- Returns
True if registered.
-
copy()¶ Deep copy the registry.
-
get(category: str, key: str) → Callable¶ Return the registered class.
- Parameters
category – category name.
key – value name.
- Returns
registered value.
-
register(category: str, name: str, cls: Optional[Callable] = None, force: bool = False) → Callable¶ Register a py class. A record will be added to self._dict, whose key is the class name or the specified name, and value is the class itself. It can be used as a decorator or a normal function.
- Parameters
category – The type of the category.
name – The class name to be registered. If not specified, the class name will be used.
force – Whether to override an existing class with the same name.
cls – Class to be registered.
- Returns
The given class or a decorator.
-
register_backbone(name: str, cls: Optional[Callable] = None, force: bool = False) → Callable¶ Register a backbone class.
- Parameters
name – backbone name
cls – backbone class
force – whether overwrite if already registered
- Returns
the registered class
-
register_data_augmentation(name: str, cls: Optional[Callable] = None, force: bool = False) → Callable¶ Register a data augmentation class.
- Parameters
name – data augmentation name
cls – data augmentation class
force – whether overwrite if already registered
- Returns
the registered class
-
register_data_loader(name: str, cls: Optional[Callable] = None, force: bool = False) → Callable¶ Register a data loader class.
- Parameters
name – loss name
cls – loss class
force – whether overwrite if already registered
- Returns
the registered class
-
register_file_loader(name: str, cls: Optional[Callable] = None, force: bool = False) → Callable¶ Register a file loader class.
- Parameters
name – loss name
cls – loss class
force – whether overwrite if already registered
- Returns
the registered class
-
register_loss(name: str, cls: Optional[Callable] = None, force: bool = False) → Callable¶ Register a loss class.
- Parameters
name – loss name
cls – loss class
force – whether overwrite if already registered
- Returns
the registered class
-
register_model(name: str, cls: Optional[Callable] = None, force: bool = False) → Callable¶ Register a model class.
- Parameters
name – model name
cls – model class
force – whether overwrite if already registered
- Returns
the registered class