From 7a207808bc89935a8494c3a9da1ae7fea1c37fd1 Mon Sep 17 00:00:00 2001
From: 游雁 <zhifu.gzf@alibaba-inc.com>
Date: 星期四, 06 七月 2023 19:13:00 +0800
Subject: [PATCH] np fix bug

---
 funasr/models/encoder/rnn_encoder.py       |    4 ++--
 funasr/utils/misc.py                       |    2 +-
 funasr/version.txt                         |    2 +-
 funasr/modules/frontends/mask_estimator.py |    2 +-
 funasr/modules/nets_utils.py               |    8 ++++----
 README_zh.md                               |    7 ++++---
 funasr/bin/asr_inference_launch.py         |    3 ++-
 funasr/bin/diar_infer.py                   |    2 +-
 funasr/modules/data2vec/data_utils.py      |    2 +-
 9 files changed, 17 insertions(+), 15 deletions(-)

diff --git a/README_zh.md b/README_zh.md
index e853f2d..af7096c 100644
--- a/README_zh.md
+++ b/README_zh.md
@@ -92,7 +92,7 @@
 
 #### python鐗堟湰绀轰緥
 
-鏀寔瀹炴椂娴佸紡璇煶璇嗗埆锛屽苟涓斾細鐢ㄩ潪娴佸紡妯″瀷杩涜绾犻敊锛岃緭鍑烘枃鏈甫鏈夋爣鐐广�傜洰鍓嶅彧鏀寔鍗曚釜client锛屽闇�澶氬苟鍙戣鍙傝�僣++鐗堟湰鏈嶅姟閮ㄧ讲SDK锛圼鐐瑰嚮姝ゅ]()锛�
+鏀寔瀹炴椂娴佸紡璇煶璇嗗埆锛屽苟涓斾細鐢ㄩ潪娴佸紡妯″瀷杩涜绾犻敊锛岃緭鍑烘枃鏈甫鏈夋爣鐐广�傜洰鍓嶅彧鏀寔鍗曚釜client锛屽闇�澶氬苟鍙戣鍙傝�冧笅鏂筩++鐗堟湰鏈嶅姟閮ㄧ讲SDK
 
 ##### 鏈嶅姟绔儴缃�
 ```shell
@@ -107,6 +107,7 @@
 ```
 鏇村渚嬪瓙鍙互鍙傝�冿紙[鐐瑰嚮姝ゅ](https://alibaba-damo-academy.github.io/FunASR/en/runtime/websocket_python.html#id2)锛�
 
+<a name="cpp鐗堟湰绀轰緥"></a>
 #### c++鐗堟湰绀轰緥
 
 鐩墠宸叉敮鎸佺绾挎枃浠惰浆鍐欐湇鍔★紙CPU锛夛紝鏀寔涓婄櫨璺苟鍙戣姹�
@@ -162,9 +163,9 @@
 <a name="鑱旂郴鎴戜滑"></a>
 ## 鑱旂郴鎴戜滑
 
-濡傛灉鎮ㄥ湪浣跨敤涓亣鍒板洶闅撅紝鍙互閫氳繃涓�涓嬫柟寮忚仈绯绘垜浠�
+濡傛灉鎮ㄥ湪浣跨敤涓亣鍒板洶闅撅紝鍙互閫氳繃浠ヤ笅鏂瑰紡鑱旂郴鎴戜滑
 
-- email: [funasr@list.alibaba-inc.com](funasr@list.alibaba-inc.com)
+- 閭欢: [funasr@list.alibaba-inc.com](funasr@list.alibaba-inc.com)
 
 |                                  閽夐拤缇�                                  |                          寰俊                           |
 |:---------------------------------------------------------------------:|:-----------------------------------------------------:|
diff --git a/funasr/bin/asr_inference_launch.py b/funasr/bin/asr_inference_launch.py
index c32357e..de18894 100644
--- a/funasr/bin/asr_inference_launch.py
+++ b/funasr/bin/asr_inference_launch.py
@@ -639,7 +639,8 @@
             batch_size_token_ms = batch_size_token*60
             if speech2text.device == "cpu":
                 batch_size_token_ms = 0
-            batch_size_token_ms = max(batch_size_token_ms, sorted_data[0][0][1] - sorted_data[0][0][0])
+            if len(sorted_data) > 0 and len(sorted_data[0]) > 0:
+                batch_size_token_ms = max(batch_size_token_ms, sorted_data[0][0][1] - sorted_data[0][0][0])
             
             batch_size_token_ms_cum = 0
             beg_idx = 0
diff --git a/funasr/bin/diar_infer.py b/funasr/bin/diar_infer.py
index 3efa641..6fc1da1 100755
--- a/funasr/bin/diar_infer.py
+++ b/funasr/bin/diar_infer.py
@@ -179,7 +179,7 @@
 
     @staticmethod
     def seq2arr(seq, vec_dim=8):
-        def int2vec(x, vec_dim=8, dtype=np.int):
+        def int2vec(x, vec_dim=8, dtype=np.int32):
             b = ('{:0' + str(vec_dim) + 'b}').format(x)
             # little-endian order: lower bit first
             return (np.array(list(b)[::-1]) == '1').astype(dtype)
diff --git a/funasr/models/encoder/rnn_encoder.py b/funasr/models/encoder/rnn_encoder.py
index 434af09..353beaf 100644
--- a/funasr/models/encoder/rnn_encoder.py
+++ b/funasr/models/encoder/rnn_encoder.py
@@ -46,12 +46,12 @@
             raise ValueError(f"Not supported rnn_type={rnn_type}")
 
         if subsample is None:
-            subsample = np.ones(num_layers + 1, dtype=np.int)
+            subsample = np.ones(num_layers + 1, dtype=np.int32)
         else:
             subsample = subsample[:num_layers]
             # Append 1 at the beginning because the second or later is used
             subsample = np.pad(
-                np.array(subsample, dtype=np.int),
+                np.array(subsample, dtype=np.int32),
                 [1, num_layers - len(subsample)],
                 mode="constant",
                 constant_values=1,
diff --git a/funasr/modules/data2vec/data_utils.py b/funasr/modules/data2vec/data_utils.py
index efb72fa..abd6d51 100644
--- a/funasr/modules/data2vec/data_utils.py
+++ b/funasr/modules/data2vec/data_utils.py
@@ -105,7 +105,7 @@
             for length in sorted(lengths, reverse=True):
                 lens = np.fromiter(
                     (e - s if e - s >= length + min_space else 0 for s, e in parts),
-                    np.int,
+                    np.int32,
                 )
                 l_sum = np.sum(lens)
                 if l_sum == 0:
diff --git a/funasr/modules/frontends/mask_estimator.py b/funasr/modules/frontends/mask_estimator.py
index cf43857..53072bf 100644
--- a/funasr/modules/frontends/mask_estimator.py
+++ b/funasr/modules/frontends/mask_estimator.py
@@ -13,7 +13,7 @@
 class MaskEstimator(torch.nn.Module):
     def __init__(self, type, idim, layers, units, projs, dropout, nmask=1):
         super().__init__()
-        subsample = np.ones(layers + 1, dtype=np.int)
+        subsample = np.ones(layers + 1, dtype=np.int32)
 
         typ = type.lstrip("vgg").rstrip("p")
         if type[-1] == "p":
diff --git a/funasr/modules/nets_utils.py b/funasr/modules/nets_utils.py
index 397a5c4..55c5768 100644
--- a/funasr/modules/nets_utils.py
+++ b/funasr/modules/nets_utils.py
@@ -407,7 +407,7 @@
 
     elif mode == "mt" and arch == "rnn":
         # +1 means input (+1) and layers outputs (train_args.elayer)
-        subsample = np.ones(train_args.elayers + 1, dtype=np.int)
+        subsample = np.ones(train_args.elayers + 1, dtype=np.int32)
         logging.warning("Subsampling is not performed for machine translation.")
         logging.info("subsample: " + " ".join([str(x) for x in subsample]))
         return subsample
@@ -417,7 +417,7 @@
             or (mode == "mt" and arch == "rnn")
             or (mode == "st" and arch == "rnn")
     ):
-        subsample = np.ones(train_args.elayers + 1, dtype=np.int)
+        subsample = np.ones(train_args.elayers + 1, dtype=np.int32)
         if train_args.etype.endswith("p") and not train_args.etype.startswith("vgg"):
             ss = train_args.subsample.split("_")
             for j in range(min(train_args.elayers + 1, len(ss))):
@@ -432,7 +432,7 @@
 
     elif mode == "asr" and arch == "rnn_mix":
         subsample = np.ones(
-            train_args.elayers_sd + train_args.elayers + 1, dtype=np.int
+            train_args.elayers_sd + train_args.elayers + 1, dtype=np.int32
         )
         if train_args.etype.endswith("p") and not train_args.etype.startswith("vgg"):
             ss = train_args.subsample.split("_")
@@ -451,7 +451,7 @@
     elif mode == "asr" and arch == "rnn_mulenc":
         subsample_list = []
         for idx in range(train_args.num_encs):
-            subsample = np.ones(train_args.elayers[idx] + 1, dtype=np.int)
+            subsample = np.ones(train_args.elayers[idx] + 1, dtype=np.int32)
             if train_args.etype[idx].endswith("p") and not train_args.etype[
                 idx
             ].startswith("vgg"):
diff --git a/funasr/utils/misc.py b/funasr/utils/misc.py
index f27a63c..e9050f5 100644
--- a/funasr/utils/misc.py
+++ b/funasr/utils/misc.py
@@ -12,7 +12,7 @@
     return numel
 
 
-def int2vec(x, vec_dim=8, dtype=np.int):
+def int2vec(x, vec_dim=8, dtype=np.int32):
     b = ('{:0' + str(vec_dim) + 'b}').format(x)
     # little-endian order: lower bit first
     return (np.array(list(b)[::-1]) == '1').astype(dtype)
diff --git a/funasr/version.txt b/funasr/version.txt
index fae59ca..1a5ac0d 100644
--- a/funasr/version.txt
+++ b/funasr/version.txt
@@ -1 +1 @@
-0.6.8
+0.6.9

--
Gitblit v1.9.1