Files
Victor Yang 921a45e7ca add storing prediction/qrel files option for test set (#125)
* add prediction/qrel files dump option

* fix comment
2018-06-18 20:43:40 -04:00

27 lines
1.0 KiB
Python

class Evaluator(object):
"""
Evaluates a model on a Dataset, using metrics specific to the Dataset.
"""
def __init__(self, dataset_cls, model, embedding, data_loader, batch_size, device, keep_results=False):
self.dataset_cls = dataset_cls
self.model = model
self.embedding = embedding
self.data_loader = data_loader
self.batch_size = batch_size
self.device = device
self.keep_results = keep_results
def get_sentence_embeddings(self, batch):
sent1 = self.embedding(batch.sentence_1).transpose(1, 2)
sent2 = self.embedding(batch.sentence_2).transpose(1, 2)
return sent1, sent2
def get_scores(self):
"""
Get the scores used to evaluate the model.
Should return ([score1, score2, ..], [score1_name, score2_name, ...]).
The first score is the primary score used to determine if the model has improved.
"""
raise NotImplementedError('Evaluator subclass needs to implement get_score')