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