Evaluate the results. Args: runner (:obj:`mmcv.Runner`): The underlined training runner. results (list): Output results.
(self, runner, results)
| 112 | **eval_kwargs) |
| 113 | |
| 114 | def evaluate(self, runner, results): |
| 115 | """Evaluate the results. |
| 116 | Args: |
| 117 | runner (:obj:`mmcv.Runner`): The underlined training runner. |
| 118 | results (list): Output results. |
| 119 | """ |
| 120 | with tempfile.TemporaryDirectory() as tmp_dir: |
| 121 | eval_res = self.dataloader.dataset.evaluate(results, |
| 122 | work_dir=tmp_dir, |
| 123 | logger=runner.logger, |
| 124 | **self.eval_kwargs) |
| 125 | |
| 126 | for name, val in eval_res.items(): |
| 127 | runner.log_buffer.output[name] = val |
| 128 | runner.log_buffer.ready = True |
| 129 | |
| 130 | if self.save_best is not None: |
| 131 | if self.key_indicator == 'auto': |
| 132 | # infer from eval_results |
| 133 | self._init_rule(self.rule, list(eval_res.keys())[0]) |
| 134 | return eval_res[self.key_indicator] |
| 135 | |
| 136 | return None |