deffrom_cfg(cls,cfg:ConfigType)->'Runner':"""Build a runner from config.Args:cfg(ConfigType):Aconfig usedforbuilding runner.Keysof``cfg``can see:meth:`__init__`.Returns:Runner:Arunner buildfrom``cfg``.""" cfg=copy.deepcopy(cfg)runner=cls(model=cfg['model'],work_dir=cfg['work_...
此外,容易看出, ValLoop 底层调用的是 model.val_step 方法。 class ValLoop(BaseLoop): def __init__(self, runner, dataloader, evaluator, fp16): super().__init__(runner, dataloader) if isinstance(evaluator, dict) or isinstance(evaluator, list): self.evaluator = runner.build_evaluator(...
Update the model parameters Clean the gradients of the last iteration For most of the high-level tasks, "where" and "when" to perform the above processes is commonly fixed, therefore it seems reasonable to useHookto implement it. MMCV implements series of hooks, such asOptimizerHook,Fp16Optim...
deffrom_cfg(cls,cfg:ConfigType)->'Runner':"""Build a runner from config.Args:cfg(ConfigType):Aconfig usedforbuilding runner.Keysof``cfg``can see:meth:`__init__`.Returns:Runner:Arunner buildfrom``cfg``.""" cfg=copy.deepcopy(cfg)runner=cls(model=cfg['model'],work_dir=cfg['work_...