shixian.shi
2024-03-06 e451eb799a5bccd53dfd4b86cf66a4668b0088b7
funasr/metrics/compute_acc.py
@@ -5,7 +5,7 @@
    Args:
        pad_outputs (Tensor): Prediction tensors (B * Lmax, D).
        pad_targets (LongTensor): Target label tensors (B, Lmax).
        pad_targets (LongTensor): Target label tensors (B, Lmax, D).
        ignore_label (int): Ignore label id.
    Returns:
@@ -21,3 +21,20 @@
    )
    denominator = torch.sum(mask)
    return float(numerator) / float(denominator)
def compute_accuracy(pad_outputs, pad_targets, ignore_label):
    """Calculate accuracy.
    Args:
        pad_outputs (LongTensor): Prediction tensors (B, Lmax).
        pad_targets (LongTensor): Target label tensors (B, Lmax).
        ignore_label (int): Ignore label id.
    Returns:
        float: Accuracy value (0.0 - 1.0).
    """
    mask = pad_targets != ignore_label
    numerator = torch.sum(pad_outputs.masked_select(mask) == pad_targets.masked_select(mask))
    denominator = torch.sum(mask)
    return numerator.float() / denominator.float() #(FIX:MZY):return torch.Tensor type