From 528f92f7a2a26cade1c57ccf26b0ba6524e7cae5 Mon Sep 17 00:00:00 2001
From: TnR2 <115166373+TnR2@users.noreply.github.com>
Date: 星期三, 01 十月 2025 14:45:17 +0800
Subject: [PATCH] fix: handle empty strings after event removal in transcription processing (def rich_transcription_postprocess(s)) (#2681)
---
runtime/python/onnxruntime/funasr_onnx/sensevoice_bin.py | 6 ++++--
1 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/runtime/python/onnxruntime/funasr_onnx/sensevoice_bin.py b/runtime/python/onnxruntime/funasr_onnx/sensevoice_bin.py
index 9cfe46f..6a06ed1 100644
--- a/runtime/python/onnxruntime/funasr_onnx/sensevoice_bin.py
+++ b/runtime/python/onnxruntime/funasr_onnx/sensevoice_bin.py
@@ -183,8 +183,10 @@
# ctc_logits = torch.from_numpy(ctc_logits).float()
# support batch_size=1 only currently
x = ctc_logits[b, : encoder_out_lens[b].item(), :]
- yseq = x.argmax(dim=-1)
- yseq = np.unique(yseq)
+ yseq = np.argmax(x, axis=-1)
+ # Use np.diff and np.where instead of torch.unique_consecutive.
+ mask = np.concatenate(([True], np.diff(yseq) != 0))
+ yseq = yseq[mask]
mask = yseq != self.blank_id
token_int = yseq[mask].tolist()
--
Gitblit v1.9.1