From fcb72ed3198724c6f16f8b5d4bd09577cb8908de Mon Sep 17 00:00:00 2001 From: Xian Li Date: Wed, 10 Apr 2019 14:21:53 -0700 Subject: [PATCH] Fix sacrebleu Summary: sacrebleu scorer has stopped working in pytorch_translate (maybe fairseq too) probably due to a recent api change. Differential Revision: D14792797 fbshipit-source-id: de10f66cc78f11a25a741f6886f8313ae2466aae --- pytorch_translate/generate.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pytorch_translate/generate.py b/pytorch_translate/generate.py index c232f269..057f35dd 100644 --- a/pytorch_translate/generate.py +++ b/pytorch_translate/generate.py @@ -210,7 +210,10 @@ def _generate_score(models, args, task, dataset): for trans_info in _iter_translations( args, task, dataset, translations, align_dict, rescorer ): - scorer.add(trans_info.target_tokens, trans_info.hypo_tokens) + if hasattr(scorer, "add_string"): + scorer.add_string(trans_info.target_str, trans_info.hypo_str) + else: + scorer.add(trans_info.target_tokens, trans_info.hypo_tokens) if oracle_scorer is not None: oracle_scorer.add(trans_info.target_tokens, trans_info.best_hypo_tokens) if rescoring_bleu_scorer is not None: