mmengine.registry.build_from_cfg — mmengine 0.10.7 documentation (original) (raw)

mmengine.registry.build_from_cfg(cfg, registry, default_args=None)[source]

Build a module from config dict when it is a class configuration, or call a function from config dict when it is a function configuration.

If the global variable default scope (DefaultScope) exists,build() will firstly get the responding registry and then call its own build().

At least one of the cfg and default_args contains the key “type”, which should be either str or class. If they all contain it, the key in cfg will be used because cfg has a high priority thandefault_args that means if a key exists in both of them, the value of the key will be cfg[key]. They will be merged first and the key “type” will be popped up and the remaining keys will be used as initialization arguments.

Examples

from mmengine import Registry, build_from_cfg MODELS = Registry('models') @MODELS.register_module() class ResNet: def init(self, depth, stages=4): self.depth = depth self.stages = stages cfg = dict(type='ResNet', depth=50) model = build_from_cfg(cfg, MODELS)

Returns an instantiated object

@MODELS.register_module() def resnet50(): pass resnet = build_from_cfg(dict(type='resnet50'), MODELS)

Return a result of the calling function

Parameters:

Returns:

The constructed object.

Return type:

object