diff --git a/joeynmt_server/trainer.py b/joeynmt_server/trainer.py index 0454896197ce8de6b089774093ead152047bb137..d0252ae18d4da23849681c2cc24c43114e91c0a9 100644 --- a/joeynmt_server/trainer.py +++ b/joeynmt_server/trainer.py @@ -151,13 +151,10 @@ def train_n_rounds(config_basename, min_rounds=10): return model = None - dev_set = None try: (smallest_usage_count, train1, train2, dev, _ ) = get_feedback_segments(config_basename) nl_queries_to_reevaluate = {piece.nl for piece in train1} - if dev: - dev_set = make_dataset_from_feedback(dev, model) logging.info('Training with {} feedback pieces in segment 1' ' and {} pieces in segment 2.' .format(len(train1), len(train2))) @@ -168,21 +165,24 @@ def train_n_rounds(config_basename, min_rounds=10): model = train(config_basename, smallest_usage_count, train1, train2) - if dev_set: - logging.debug('Validating on {} feedback pieces.' + if dev: + dev_set = make_dataset_from_feedback(dev, model) + logging.info('Validating on {} feedback pieces.' .format(len(dev_set))) results = model.validate(dev_set) correct = results['score'] total = len(dev_set) - EvaluationResult(label='changing_dev', correct=correct, - total=total) + logging.info('Got validation result: {}/{} = {}' + .format(correct, total, results['score'])) + evr = EvaluationResult(label='changing_dev', correct=correct, + total=total) + db.session.add(evr) + db.session.commit() rounds += 1 (smallest_usage_count, train1, train2, dev, _ ) = get_feedback_segments(config_basename) nl_queries_to_reevaluate.update({piece.nl for piece in train1}) - if dev: - dev_set = make_dataset_from_feedback(dev, model) except: logging.error('Training failed. Deleting lock.') db.session.delete(lock)