From 200bba87f0060cfbc92c6ff45026313c188b6452 Mon Sep 17 00:00:00 2001
From: 雾聪 <wucong.lyb@alibaba-inc.com>
Date: 星期三, 17 四月 2024 19:14:20 +0800
Subject: [PATCH] sort frame_queue
---
runtime/onnxruntime/src/paraformer-torch.cpp | 16 ++++++++++++----
1 files changed, 12 insertions(+), 4 deletions(-)
diff --git a/runtime/onnxruntime/src/paraformer-torch.cpp b/runtime/onnxruntime/src/paraformer-torch.cpp
index e7fbadf..113d43f 100644
--- a/runtime/onnxruntime/src/paraformer-torch.cpp
+++ b/runtime/onnxruntime/src/paraformer-torch.cpp
@@ -281,13 +281,18 @@
if(asr_feats.size() != 0){
LfrCmvn(asr_feats);
}
- feats_batch.emplace_back(asr_feats);
- int32_t num_frames = asr_feats.size() / feature_dim;
+ int32_t num_frames = asr_feats.size();
paraformer_length.emplace_back(num_frames);
- if(max_size < asr_feats.size()){
- max_size = asr_feats.size();
+ if(max_size < asr_feats.size()*feature_dim){
+ max_size = asr_feats.size()*feature_dim;
max_frames = num_frames;
}
+
+ std::vector<float> flattened;
+ for (const auto& sub_vector : asr_feats) {
+ flattened.insert(flattened.end(), sub_vector.begin(), sub_vector.end());
+ }
+ feats_batch.emplace_back(flattened);
}
torch::NoGradGuard no_grad;
@@ -368,6 +373,9 @@
}
}
results.push_back(result);
+ if (wfst_decoder){
+ wfst_decoder->StartUtterance();
+ }
}
}
catch (std::exception const &e)
--
Gitblit v1.9.1