ソースを参照

added evaluation method

Dimitri Korsch 4 年 前
コミット
f3859d5c61
1 ファイル変更10 行追加3 行削除
  1. 10 3
      cvfinetune/finetuner/base.py

+ 10 - 3
cvfinetune/finetuner/base.py

@@ -306,15 +306,22 @@ class _TrainerMixin(abc.ABC):
 
 		self.evaluator.default_name = default_name
 
-	def run(self, trainer_cls, opts, *args, **kwargs):
-
-		trainer = trainer_cls(
+	def _new_trainer(self, trainer_cls, *args, **kwargs):
+		return trainer_cls(
 			opts=opts,
 			updater=self.updater,
 			evaluator=self.evaluator,
 			*args, **kwargs
 		)
 
+	def evaluate(self, trainer_cls, opts, *args, *kwargs):
+		trainer = self._new_trainer(trainer_cls, opts, *args, **kwargs)
+		return self.evaluator.evaluate(trainer)
+
+	def run(self, trainer_cls, opts, *args, **kwargs):
+
+		trainer = self._new_trainer(trainer_cls, opts, *args, **kwargs)
+
 		self.save_meta_info(opts, folder=Path(trainer.out, "meta"))
 
 		logging.info("Snapshotting is {}abled".format("dis" if opts.no_snapshot else "en"))