Fix reporting if no dev data with train

This commit is contained in:
Matthew Honnibal 2017-04-23 22:27:10 +02:00 committed by GitHub
parent 9beb216c0e
commit 4f9657b42b
1 changed files with 2 additions and 1 deletions

View File

@ -2,6 +2,7 @@
from __future__ import unicode_literals, division, print_function from __future__ import unicode_literals, division, print_function
import json import json
from collections import defaultdict
from ..util import ensure_path from ..util import ensure_path
from ..scorer import Scorer from ..scorer import Scorer
@ -62,7 +63,7 @@ def train_model(Language, train_data, dev_data, output_path, tagger_cfg, parser_
for itn, epoch in enumerate(trainer.epochs(n_iter, augment_data=None)): for itn, epoch in enumerate(trainer.epochs(n_iter, augment_data=None)):
for doc, gold in epoch: for doc, gold in epoch:
trainer.update(doc, gold) trainer.update(doc, gold)
dev_scores = trainer.evaluate(dev_data).scores if dev_data else {} dev_scores = trainer.evaluate(dev_data).scores if dev_data else defaultdict(float)
print_progress(itn, trainer.nlp.parser.model.nr_weight, print_progress(itn, trainer.nlp.parser.model.nr_weight,
trainer.nlp.parser.model.nr_active_feat, trainer.nlp.parser.model.nr_active_feat,
**dev_scores) **dev_scores)