From 8e449d676d4f06ba3de02c451c3b4fa3433a3792 Mon Sep 17 00:00:00 2001
From: lyblsgo <lyblsgo@163.com>
Date: 星期二, 11 四月 2023 10:35:29 +0800
Subject: [PATCH] debug onnxruntime multithread bugs
---
funasr/runtime/onnxruntime/src/librapidasrapi.cpp | 43 ++++++-------------------------------------
1 files changed, 6 insertions(+), 37 deletions(-)
diff --git a/funasr/runtime/onnxruntime/src/librapidasrapi.cpp b/funasr/runtime/onnxruntime/src/librapidasrapi.cpp
index f5f9d66..b9169bd 100644
--- a/funasr/runtime/onnxruntime/src/librapidasrapi.cpp
+++ b/funasr/runtime/onnxruntime/src/librapidasrapi.cpp
@@ -4,24 +4,16 @@
extern "C" {
#endif
-
// APIs for qmasr
- _RAPIDASRAPI RPASR_HANDLE RapidAsrInit(const char* szModelDir, int nThreadNum)
+ _RAPIDASRAPI RPASR_HANDLE RapidAsrInit(const char* szModelDir, int nThreadNum, bool quantize)
{
-
-
- Model* mm = create_model(szModelDir, nThreadNum);
-
+ Model* mm = create_model(szModelDir, nThreadNum, quantize);
return mm;
}
-
_RAPIDASRAPI RPASR_RESULT RapidAsrRecogBuffer(RPASR_HANDLE handle, const char* szBuf, int nLen, RPASR_MODE Mode, QM_CALLBACK fnCallback)
{
-
-
Model* pRecogObj = (Model*)handle;
-
if (!pRecogObj)
return nullptr;
@@ -38,7 +30,7 @@
int nStep = 0;
int nTotal = audio.get_queue_size();
while (audio.fetch(buff, len, flag) > 0) {
- pRecogObj->reset();
+ //pRecogObj->reset();
string msg = pRecogObj->forward(buff, len, flag);
pResult->msg += msg;
nStep++;
@@ -46,15 +38,12 @@
fnCallback(nStep, nTotal);
}
-
return pResult;
}
_RAPIDASRAPI RPASR_RESULT RapidAsrRecogPCMBuffer(RPASR_HANDLE handle, const char* szBuf, int nLen, RPASR_MODE Mode, QM_CALLBACK fnCallback)
{
-
Model* pRecogObj = (Model*)handle;
-
if (!pRecogObj)
return nullptr;
@@ -71,7 +60,7 @@
int nStep = 0;
int nTotal = audio.get_queue_size();
while (audio.fetch(buff, len, flag) > 0) {
- pRecogObj->reset();
+ //pRecogObj->reset();
string msg = pRecogObj->forward(buff, len, flag);
pResult->msg += msg;
nStep++;
@@ -79,16 +68,12 @@
fnCallback(nStep, nTotal);
}
-
return pResult;
-
}
_RAPIDASRAPI RPASR_RESULT RapidAsrRecogPCMFile(RPASR_HANDLE handle, const char* szFileName, RPASR_MODE Mode, QM_CALLBACK fnCallback)
{
-
Model* pRecogObj = (Model*)handle;
-
if (!pRecogObj)
return nullptr;
@@ -105,7 +90,7 @@
int nStep = 0;
int nTotal = audio.get_queue_size();
while (audio.fetch(buff, len, flag) > 0) {
- pRecogObj->reset();
+ //pRecogObj->reset();
string msg = pRecogObj->forward(buff, len, flag);
pResult->msg += msg;
nStep++;
@@ -113,15 +98,12 @@
fnCallback(nStep, nTotal);
}
-
return pResult;
-
}
_RAPIDASRAPI RPASR_RESULT RapidAsrRecogFile(RPASR_HANDLE handle, const char* szWavfile, RPASR_MODE Mode, QM_CALLBACK fnCallback)
{
Model* pRecogObj = (Model*)handle;
-
if (!pRecogObj)
return nullptr;
@@ -138,7 +120,7 @@
RPASR_RECOG_RESULT* pResult = new RPASR_RECOG_RESULT;
pResult->snippet_time = audio.get_time_len();
while (audio.fetch(buff, len, flag) > 0) {
- pRecogObj->reset();
+ //pRecogObj->reset();
string msg = pRecogObj->forward(buff, len, flag);
pResult->msg+= msg;
nStep++;
@@ -146,9 +128,6 @@
fnCallback(nStep, nTotal);
}
-
-
-
return pResult;
}
@@ -158,7 +137,6 @@
return 0;
return 1;
-
}
@@ -168,7 +146,6 @@
return 0.0f;
return ((RPASR_RECOG_RESULT*)Result)->snippet_time;
-
}
_RAPIDASRAPI const char* RapidAsrGetResult(RPASR_RESULT Result,int nIndex)
@@ -178,33 +155,25 @@
return nullptr;
return pResult->msg.c_str();
-
}
_RAPIDASRAPI void RapidAsrFreeResult(RPASR_RESULT Result)
{
-
if (Result)
{
delete (RPASR_RECOG_RESULT*)Result;
-
}
}
_RAPIDASRAPI void RapidAsrUninit(RPASR_HANDLE handle)
{
-
Model* pRecogObj = (Model*)handle;
-
if (!pRecogObj)
return;
delete pRecogObj;
-
}
-
-
#ifdef __cplusplus
--
Gitblit v1.9.1