build model given model config dict Args: cfg (:obj:`ConfigDict`): config dict for model object. task_name (str, optional): task name, refer to :obj:`Tasks` for more details default_args (dict, optional): Default initialization arguments.
(cfg: ConfigDict,
task_name: str = None,
default_args: dict = None)
| 21 | |
| 22 | |
| 23 | def build_model(cfg: ConfigDict, |
| 24 | task_name: str = None, |
| 25 | default_args: dict = None): |
| 26 | """ build model given model config dict |
| 27 | |
| 28 | Args: |
| 29 | cfg (:obj:`ConfigDict`): config dict for model object. |
| 30 | task_name (str, optional): task name, refer to |
| 31 | :obj:`Tasks` for more details |
| 32 | default_args (dict, optional): Default initialization arguments. |
| 33 | """ |
| 34 | try: |
| 35 | model = build_from_cfg( |
| 36 | cfg, MODELS, group_key=task_name, default_args=default_args) |
| 37 | except KeyError as e: |
| 38 | # Handle subtask with a backbone model that hasn't been registered |
| 39 | # All the subtask with a parent task should have a task model, otherwise it is not a |
| 40 | # valid subtask |
| 41 | parent_task, task_model_type = get_task_by_subtask_name(task_name) |
| 42 | if task_model_type is None: |
| 43 | raise KeyError(e) |
| 44 | cfg['type'] = task_model_type |
| 45 | model = build_from_cfg( |
| 46 | cfg, MODELS, group_key=parent_task, default_args=default_args) |
| 47 | return model |
| 48 | |
| 49 | |
| 50 | def build_backbone(cfg: ConfigDict, default_args: dict = None): |
no test coverage detected
searching dependent graphs…