From e451eb799a5bccd53dfd4b86cf66a4668b0088b7 Mon Sep 17 00:00:00 2001
From: shixian.shi <shixian.shi@alibaba-inc.com>
Date: 星期三, 06 三月 2024 15:31:47 +0800
Subject: [PATCH] infer for word punc model

---
 funasr/metrics/compute_acc.py |   19 ++++++++++++++++++-
 1 files changed, 18 insertions(+), 1 deletions(-)

diff --git a/funasr/metrics/compute_acc.py b/funasr/metrics/compute_acc.py
index 2b45836..ec8067f 100644
--- a/funasr/metrics/compute_acc.py
+++ b/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
\ No newline at end of file

--
Gitblit v1.9.1