Build module from config or return the module itself. Args: module (Union[dict, nn.Module]): The module to build. builder (Registry): The registry to build module. *args, **kwargs: Arguments passed to build function. Returns: Any: The built module.
(module, builder, **kwargs)
| 5 | |
| 6 | |
| 7 | def build_module(module, builder, **kwargs): |
| 8 | """Build module from config or return the module itself. |
| 9 | |
| 10 | Args: |
| 11 | module (Union[dict, nn.Module]): The module to build. |
| 12 | builder (Registry): The registry to build module. |
| 13 | *args, **kwargs: Arguments passed to build function. |
| 14 | |
| 15 | Returns: |
| 16 | Any: The built module. |
| 17 | """ |
| 18 | if module is None: |
| 19 | return None |
| 20 | if isinstance(module, dict): |
| 21 | cfg = deepcopy(module) |
| 22 | for k, v in kwargs.items(): |
| 23 | cfg[k] = v |
| 24 | return builder.build(cfg) |
| 25 | elif isinstance(module, nn.Module): |
| 26 | return module |
| 27 | elif module is None: |
| 28 | return None |
| 29 | else: |
| 30 | raise TypeError(f"Only support dict and nn.Module, but got {type(module)}.") |
| 31 | |
| 32 | |
| 33 | MODELS = Registry( |
no outgoing calls
no test coverage detected