sockeye/checkpoint_decoder.py [168:206]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
            trans_outputs = self.translator.translate(trans_inputs)
            trans_wall_time = time.time() - tic
            for trans_input, trans_output in zip(trans_inputs, trans_outputs):
                output_strings = [trans_output.translation]
                if trans_output.factor_translations is not None and len(outputs) > 1:
                    output_strings += trans_output.factor_translations
                translations.append(output_strings)
                for output_string, output_file in zip(output_strings, outputs):
                    if output_file is not None:
                        print(output_string, file=output_file)
        avg_time = trans_wall_time / len(self.targets_sentences[0])
        translations = list(zip(*translations))  # type: ignore

        # 2. Evaluate
        metrics = {C.BLEU: evaluate.raw_corpus_bleu(hypotheses=translations[0],
                                                    references=self.targets_sentences[0],
                                                    offset=0.01),
                   C.CHRF: evaluate.raw_corpus_chrf(hypotheses=translations[0],
                                                    references=self.targets_sentences[0]),
                   C.ROUGE1: evaluate.raw_corpus_rouge1(hypotheses=translations[0],
                                                        references=self.targets_sentences[0]),
                   C.ROUGE2: evaluate.raw_corpus_rouge2(hypotheses=translations[0],
                                                        references=self.targets_sentences[0]),
                   C.ROUGEL: evaluate.raw_corpus_rougel(hypotheses=translations[0],
                                                        references=self.targets_sentences[0]),
                   C.LENRATIO: evaluate.raw_corpus_length_ratio(hypotheses=translations[0],
                                                                references=self.targets_sentences[0]),
                   C.AVG_TIME: avg_time,
                   C.DECODING_TIME: trans_wall_time}

        if len(translations) > 1:  # metrics for other target factors
            for i, _ in enumerate(translations[1:], 1):
                # only BLEU
                metrics.update(
                    {'f%d-%s' % (i, C.BLEU): evaluate.raw_corpus_bleu(hypotheses=translations[i],
                                                                      references=self.targets_sentences[i],
                                                                      offset=0.01)}
                )
        return metrics
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



sockeye/checkpoint_decoder_pt.py [163:201]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
            trans_outputs = self.translator.translate(trans_inputs)
            trans_wall_time = time.time() - tic
            for trans_input, trans_output in zip(trans_inputs, trans_outputs):
                output_strings = [trans_output.translation]
                if trans_output.factor_translations is not None and len(outputs) > 1:
                    output_strings += trans_output.factor_translations
                translations.append(output_strings)
                for output_string, output_file in zip(output_strings, outputs):
                    if output_file is not None:
                        print(output_string, file=output_file)
        avg_time = trans_wall_time / len(self.targets_sentences[0])
        translations = list(zip(*translations))  # type: ignore

        # 2. Evaluate
        metrics = {C.BLEU: evaluate.raw_corpus_bleu(hypotheses=translations[0],
                                                    references=self.targets_sentences[0],
                                                    offset=0.01),
                   C.CHRF: evaluate.raw_corpus_chrf(hypotheses=translations[0],
                                                    references=self.targets_sentences[0]),
                   C.ROUGE1: evaluate.raw_corpus_rouge1(hypotheses=translations[0],
                                                        references=self.targets_sentences[0]),
                   C.ROUGE2: evaluate.raw_corpus_rouge2(hypotheses=translations[0],
                                                        references=self.targets_sentences[0]),
                   C.ROUGEL: evaluate.raw_corpus_rougel(hypotheses=translations[0],
                                                        references=self.targets_sentences[0]),
                   C.LENRATIO: evaluate.raw_corpus_length_ratio(hypotheses=translations[0],
                                                                references=self.targets_sentences[0]),
                   C.AVG_TIME: avg_time,
                   C.DECODING_TIME: trans_wall_time}

        if len(translations) > 1:  # metrics for other target factors
            for i, _ in enumerate(translations[1:], 1):
                # only BLEU
                metrics.update(
                    {'f%d-%s' % (i, C.BLEU): evaluate.raw_corpus_bleu(hypotheses=translations[i],
                                                                      references=self.targets_sentences[i],
                                                                      offset=0.01)}
                )
        return metrics
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



