From 1254e8aee1e3200acc2b4752c6822bfc1a21b22f Mon Sep 17 00:00:00 2001
From: StevenH <hongfanmeng@gmail.com>
Date: 星期六, 26 十月 2024 12:19:07 +0800
Subject: [PATCH] optimize ComputeDecibel in fsmn-vad model by using numpy (#2174)

---
 funasr/models/emotion2vec/model.py |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/funasr/models/emotion2vec/model.py b/funasr/models/emotion2vec/model.py
index 48b8716..d18e184 100644
--- a/funasr/models/emotion2vec/model.py
+++ b/funasr/models/emotion2vec/model.py
@@ -249,10 +249,17 @@
             if self.proj:
                 x = x.mean(dim=1)
                 x = self.proj(x)
+                for idx, lab in enumerate(labels):
+                    x[:,idx] = -np.inf if lab.startswith("unuse") else x[:,idx]
                 x = torch.softmax(x, dim=-1)
                 scores = x[0].tolist()
 
-            result_i = {"key": key[i], "labels": labels, "scores": scores}
+            select_label = [lb for lb in labels if not lb.startswith("unuse")]
+            select_score = [scores[idx] for idx, lb in enumerate(labels) if not lb.startswith("unuse")]
+
+            # result_i = {"key": key[i], "labels": labels, "scores": scores}
+            result_i = {"key": key[i], "labels": select_label, "scores": select_score}
+
             if extract_embedding:
                 result_i["feats"] = feats
             results.append(result_i)

--
Gitblit v1.9.1