示例#1
0
 def reduce_metrics(logging_outputs) -> None:
     """Aggregate logging outputs from data parallel training."""
     CrossEntropyCriterion.reduce_metrics(logging_outputs)
     num_corr = sum(log.get("num_corr", 0) for log in logging_outputs)
     num_tot = sum(log.get("num_tot", 0) for log in logging_outputs)
     metrics.log_scalar("accuracy",
                        num_corr.float() / num_tot *
                        100 if num_tot > 0 else 0.0,
                        num_tot,
                        round=3)
示例#2
0
    def reduce_metrics(logging_outputs) -> None:
        """Aggregate logging outputs from data parallel training."""
        CrossEntropyCriterion.reduce_metrics(logging_outputs)

        word_error = sum(log.get('word_error', 0) for log in logging_outputs)
        word_count = sum(log.get('word_count', 0) for log in logging_outputs)
        char_error = sum(log.get('char_error', 0) for log in logging_outputs)
        char_count = sum(log.get('char_count', 0) for log in logging_outputs)
        if word_count > 0:  # model.training == False
            metrics.log_scalar('wer', float(word_error) / word_count * 100, word_count, round=4)
        if char_count > 0:  # model.training == False
            metrics.log_scalar('wer', float(word_error) / word_count * 100, word_count, round=4)