From 648c03fdbba045acf8e25c5e6f7df0f27937c3cf Mon Sep 17 00:00:00 2001
From: liugz18 <57401541+liugz18@users.noreply.github.com>
Date: 星期三, 12 六月 2024 12:30:00 +0800
Subject: [PATCH] Update auto_model.py

---
 funasr/auto/auto_model.py |   13 +++++++++----
 1 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/funasr/auto/auto_model.py b/funasr/auto/auto_model.py
index fb81608..9f8e4dc 100644
--- a/funasr/auto/auto_model.py
+++ b/funasr/auto/auto_model.py
@@ -234,6 +234,8 @@
         # fp16
         if kwargs.get("fp16", False):
             model.to(torch.float16)
+        elif kwargs.get("bf16", False):
+            model.to(torch.bfloat16)
         return model, kwargs
 
     def __call__(self, *args, **cfg):
@@ -428,6 +430,10 @@
             #                      f"time_speech_total_per_sample: {time_speech_total_per_sample: 0.3f}, "
             #                      f"time_escape_total_per_sample: {time_escape_total_per_sample:0.3f}")
 
+            if len(results_sorted) != n:
+                results_ret_list.append({"key": key, "text": "", "timestamp": []})
+                logging.info("decoding, utt: {}, empty result".format(key))
+                continue
             restored_data = [0] * n
             for j in range(n):
                 index = sorted_data[j][1]
@@ -463,10 +469,11 @@
 
             return_raw_text = kwargs.get("return_raw_text", False)
             # step.3 compute punc model
+            raw_text = None
             if self.punc_model is not None:
                 if not len(result["text"].strip()):
                     if return_raw_text:
-                        result["raw_text"] = ""
+                        result["raw_text"] = raw_text = ""
                 else:
                     deep_update(self.punc_kwargs, cfg)
                     punc_res = self.inference(
@@ -476,9 +483,7 @@
                     if return_raw_text:
                         result["raw_text"] = raw_text
                     result["text"] = punc_res[0]["text"]
-            else:
-                raw_text = None
-
+                
             # speaker embedding cluster after resorted
             if self.spk_model is not None and kwargs.get("return_spk_res", True):
                 if raw_text is None:

--
Gitblit v1.9.1