DefaultScope¶
- class mmengine.registry.DefaultScope(name, scope_name)[source]¶
Scope of current task used to reset the current registry, which can be accessed globally.
Consider the case of resetting the current
Registrybydefault_scopein the internal module which cannot access runner directly, it is difficult to get thedefault_scopedefined inRunner. However, ifRunnercreatedDefaultScopeinstance by givendefault_scope, the internal module can getdefault_scopebyDefaultScope.get_current_instanceeverywhere.- Parameters:
Examples
>>> from mmengine.model import MODELS >>> # Define default scope in runner. >>> DefaultScope.get_instance('task', scope_name='mmdet') >>> # Get default scope globally. >>> scope_name = DefaultScope.get_instance('task').scope_name
- classmethod get_current_instance()[source]¶
Get latest created default scope.
Since default_scope is an optional argument for
Registry.build.get_current_instanceshould returnNoneif there is noDefaultScopecreated.Examples
>>> default_scope = DefaultScope.get_current_instance() >>> # There is no `DefaultScope` created yet, >>> # `get_current_instance` return `None`. >>> default_scope = DefaultScope.get_instance( >>> 'instance_name', scope_name='mmengine') >>> default_scope.scope_name mmengine >>> default_scope = DefaultScope.get_current_instance() >>> default_scope.scope_name mmengine
- Returns:
Return None If there has not been
DefaultScopeinstance created yet, otherwise return the latest created DefaultScope instance.- Return type:
Optional[DefaultScope]