[d129b2]: / medicalbert / evaluator / evaluator_factory.py

Download this file

17 lines (12 with data), 600 Bytes

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
from evaluator.sequence_evaluator import SequenceEvaluator
from evaluator.standard_evaluator import StandardEvaluator
class EvaluatorFactory:
def __init__(self):
self._evaluators = {"std": StandardEvaluator, "seq": SequenceEvaluator}
def register_evaluator(self, name, evaluator):
self._evaluators[name] = evaluator
def make_evaluator(self, evaluator, results_path, defconfig, datareader, validator):
ev = self._evaluators.get(evaluator)
if not ev:
raise ValueError(format)
return ev(results_path, defconfig, datareader, validator)