| |
| import copy |
|
|
| from ..utils import Registry |
|
|
| RUNNERS = Registry('runner') |
| RUNNER_BUILDERS = Registry('runner builder') |
|
|
|
|
| def build_runner_constructor(cfg): |
| return RUNNER_BUILDERS.build(cfg) |
|
|
|
|
| def build_runner(cfg, default_args=None): |
| runner_cfg = copy.deepcopy(cfg) |
| constructor_type = runner_cfg.pop('constructor', |
| 'DefaultRunnerConstructor') |
| runner_constructor = build_runner_constructor( |
| dict( |
| type=constructor_type, |
| runner_cfg=runner_cfg, |
| default_args=default_args)) |
| runner = runner_constructor() |
| return runner |
|
|