MCPcopy Create free account
hub / github.com/modelscope/modelscope / register_module

Method register_module

modelscope/utils/registry.py:79–131  ·  view source on GitHub ↗

Register module Example: >>> models = Registry('models') >>> @models.register_module('image-classification', 'SwinT') >>> class SwinTransformer: >>> pass >>> @models.register_module('SwinDefault') >>> class SwinTr

(self,
                        group_key: str = default_group,
                        module_name: str = None,
                        module_cls: type = None,
                        force=False)

Source from the content-addressed store, hash-verified

77 module_cls.group_key = group_key
78
79 def register_module(self,
80 group_key: str = default_group,
81 module_name: str = None,
82 module_cls: type = None,
83 force=False):
84 """ Register module
85
86 Example:
87 >>> models = Registry('models')
88 >>> @models.register_module('image-classification', 'SwinT')
89 >>> class SwinTransformer:
90 >>> pass
91
92 >>> @models.register_module('SwinDefault')
93 >>> class SwinTransformerDefaultGroup:
94 >>> pass
95
96 >>> class SwinTransformer2:
97 >>> pass
98 >>> MODELS.register_module('image-classification',
99 module_name='SwinT2',
100 module_cls=SwinTransformer2)
101
102 Args:
103 group_key: Group name of which module will be registered,
104 default group name is 'default'
105 module_name: Module name
106 module_cls: Module class object
107 force (bool, optional): Whether to override an existing class with
108 the same name. Default: False.
109
110 """
111 if not (module_name is None or isinstance(module_name, str)):
112 raise TypeError(f'module_name must be either of None, str,'
113 f'got {type(module_name)}')
114 if module_cls is not None:
115 self._register_module(
116 group_key=group_key,
117 module_name=module_name,
118 module_cls=module_cls,
119 force=force)
120 return module_cls
121
122 # if module_cls is None, should return a decorator function
123 def _register(module_cls):
124 self._register_module(
125 group_key=group_key,
126 module_name=module_name,
127 module_cls=module_cls,
128 force=force)
129 return module_cls
130
131 return _register
132
133
134def build_from_cfg(cfg,

Callers 3

builder.pyFile · 0.80

Calls 1

_register_moduleMethod · 0.95

Tested by

no test coverage detected