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