recover scope mechanism for mmyolo (#1495)
parent
6ed62ca9f5
commit
f8e65bb43c
|
@ -47,8 +47,7 @@ class MMCodebase(metaclass=ABCMeta):
|
|||
type=task.value,
|
||||
model_cfg=model_cfg,
|
||||
deploy_cfg=deploy_cfg,
|
||||
device=device,
|
||||
_scope_='mmdeploy'))
|
||||
device=device))
|
||||
|
||||
@classmethod
|
||||
def register_deploy_modules(cls):
|
||||
|
@ -84,4 +83,4 @@ def get_codebase_class(codebase: Codebase) -> MMCodebase:
|
|||
logger.warn(f'Import mmdeploy.codebase.{codebase.value}.deploy failed'
|
||||
'Please check whether the module is the custom module.'
|
||||
f'{e}')
|
||||
return CODEBASE.build({'type': codebase.value, '_scope_': 'mmdeploy'})
|
||||
return CODEBASE.build({'type': codebase.value})
|
||||
|
|
|
@ -13,6 +13,7 @@ from torch.utils.data import DataLoader, Dataset
|
|||
|
||||
from mmdeploy.utils import (get_backend_config, get_codebase,
|
||||
get_codebase_config, get_root_logger)
|
||||
from mmdeploy.utils.config_utils import get_codebase_external_module
|
||||
from mmdeploy.utils.dataset import is_can_sort_dataset, sort_dataset
|
||||
|
||||
|
||||
|
@ -23,15 +24,36 @@ class BaseTask(metaclass=ABCMeta):
|
|||
model_cfg (str | Config): Model config file.
|
||||
deploy_cfg (str | Config): Deployment config file.
|
||||
device (str): A string specifying device type.
|
||||
experiment_name (str, optional): Name of current experiment.
|
||||
If not specified, timestamp will be used as
|
||||
``experiment_name``. Defaults to ``None``.
|
||||
"""
|
||||
|
||||
def __init__(self, model_cfg: Config, deploy_cfg: Config, device: str):
|
||||
def __init__(self,
|
||||
model_cfg: Config,
|
||||
deploy_cfg: Config,
|
||||
device: str,
|
||||
experiment_name: str = 'BaseTask'):
|
||||
|
||||
self.model_cfg = model_cfg
|
||||
self.deploy_cfg = deploy_cfg
|
||||
self.device = device
|
||||
|
||||
self.codebase = get_codebase(deploy_cfg)
|
||||
self.experiment_name = experiment_name
|
||||
|
||||
# init scope
|
||||
from .. import import_codebase
|
||||
custom_module_list = get_codebase_external_module(deploy_cfg)
|
||||
import_codebase(self.codebase, custom_module_list)
|
||||
|
||||
from mmengine.registry import DefaultScope
|
||||
if not DefaultScope.check_instance_created(self.experiment_name):
|
||||
self.scope = DefaultScope.get_instance(
|
||||
self.experiment_name,
|
||||
scope_name=self.model_cfg.get('default_scope'))
|
||||
else:
|
||||
self.scope = DefaultScope.get_instance(self.experiment_name)
|
||||
|
||||
# lazy build visualizer
|
||||
self.visualizer = self.model_cfg.get('visualizer', None)
|
||||
|
|
Loading…
Reference in New Issue