(self)
| 297 | return model |
| 298 | |
| 299 | def evaluate_and_save_model(self): |
| 300 | evalmodel = self.ema_model.ema if self.use_model_ema else self.model |
| 301 | ap50_95, ap50, summary = self.exp.eval( |
| 302 | evalmodel, self.evaluator, self.is_distributed |
| 303 | ) |
| 304 | self.model.train() |
| 305 | if self.rank == 0: |
| 306 | self.tblogger.add_scalar("val/COCOAP50", ap50, self.epoch + 1) |
| 307 | self.tblogger.add_scalar("val/COCOAP50_95", ap50_95, self.epoch + 1) |
| 308 | logger.info("\n" + summary) |
| 309 | synchronize() |
| 310 | |
| 311 | #self.best_ap = max(self.best_ap, ap50_95) |
| 312 | self.save_ckpt("last_epoch", ap50 > self.best_ap) |
| 313 | self.best_ap = max(self.best_ap, ap50) |
| 314 | |
| 315 | def save_ckpt(self, ckpt_name, update_best_ckpt=False): |
| 316 | if self.rank == 0: |
no test coverage detected