summaryrefslogtreecommitdiff
path: root/tests/use_case/asr
diff options
context:
space:
mode:
authorKshitij Sisodia <kshitij.sisodia@arm.com>2022-05-06 09:13:03 +0100
committerKshitij Sisodia <kshitij.sisodia@arm.com>2022-05-06 17:11:41 +0100
commitaa4bcb14d0cbee910331545dd2fc086b58c37170 (patch)
treee67a43a43f61c6f8b6aad19018b0827baf7e31a6 /tests/use_case/asr
parentfcca863bafd5f33522bc14c23dde4540e264ec94 (diff)
downloadml-embedded-evaluation-kit-aa4bcb14d0cbee910331545dd2fc086b58c37170.tar.gz
MLECO-3183: Refactoring application sources
Platform agnostic application sources are moved into application api module with their own independent CMake projects. Changes for MLECO-3080 also included - they create CMake projects individial API's (again, platform agnostic) that dependent on the common logic. The API for KWS_API "joint" API has been removed and now the use case relies on individual KWS, and ASR API libraries. Change-Id: I1f7748dc767abb3904634a04e0991b74ac7b756d Signed-off-by: Kshitij Sisodia <kshitij.sisodia@arm.com>
Diffstat (limited to 'tests/use_case/asr')
-rw-r--r--tests/use_case/asr/InferenceTestWav2Letter.cc23
-rw-r--r--tests/use_case/asr/Wav2LetterPostprocessingTest.cc27
2 files changed, 44 insertions, 6 deletions
diff --git a/tests/use_case/asr/InferenceTestWav2Letter.cc b/tests/use_case/asr/InferenceTestWav2Letter.cc
index 53c92ab..643f805 100644
--- a/tests/use_case/asr/InferenceTestWav2Letter.cc
+++ b/tests/use_case/asr/InferenceTestWav2Letter.cc
@@ -17,10 +17,21 @@
#include "TensorFlowLiteMicro.hpp"
#include "Wav2LetterModel.hpp"
#include "TestData_asr.hpp"
+#include "BufAttributes.hpp"
#include <catch.hpp>
#include <random>
+namespace arm {
+namespace app {
+ static uint8_t tensorArena[ACTIVATION_BUF_SZ] ACTIVATION_BUF_ATTRIBUTE;
+ namespace asr {
+ extern uint8_t* GetModelPointer();
+ extern size_t GetModelLen();
+ } /* namespace asr */
+} /* namespace app */
+} /* namespace arm */
+
using namespace test;
bool RunInference(arm::app::Model& model, const int8_t vec[], const size_t copySz)
@@ -58,7 +69,10 @@ TEST_CASE("Running random inference with TensorFlow Lite Micro and Wav2LetterMod
arm::app::Wav2LetterModel model{};
REQUIRE_FALSE(model.IsInited());
- REQUIRE(model.Init());
+ REQUIRE(model.Init(arm::app::tensorArena,
+ sizeof(arm::app::tensorArena),
+ arm::app::asr::GetModelPointer(),
+ arm::app::asr::GetModelLen()));
REQUIRE(model.IsInited());
REQUIRE(RunInferenceRandom(model));
@@ -96,11 +110,14 @@ TEST_CASE("Running inference with Tflu and Wav2LetterModel Int8", "[Wav2Letter]"
arm::app::Wav2LetterModel model{};
REQUIRE_FALSE(model.IsInited());
- REQUIRE(model.Init());
+ REQUIRE(model.Init(arm::app::tensorArena,
+ sizeof(arm::app::tensorArena),
+ arm::app::asr::GetModelPointer(),
+ arm::app::asr::GetModelLen()));
REQUIRE(model.IsInited());
TestInference<int8_t>(input_goldenFV, output_goldenFV, model);
}
}
-} \ No newline at end of file
+}
diff --git a/tests/use_case/asr/Wav2LetterPostprocessingTest.cc b/tests/use_case/asr/Wav2LetterPostprocessingTest.cc
index 11c4919..9c3d658 100644
--- a/tests/use_case/asr/Wav2LetterPostprocessingTest.cc
+++ b/tests/use_case/asr/Wav2LetterPostprocessingTest.cc
@@ -17,11 +17,23 @@
#include "Wav2LetterPostprocess.hpp"
#include "Wav2LetterModel.hpp"
#include "ClassificationResult.hpp"
+#include "BufAttributes.hpp"
#include <algorithm>
#include <catch.hpp>
#include <limits>
+namespace arm {
+namespace app {
+ static uint8_t tensorArena[ACTIVATION_BUF_SZ] ACTIVATION_BUF_ATTRIBUTE;
+
+ namespace asr {
+ extern uint8_t* GetModelPointer();
+ extern size_t GetModelLen();
+ } /* namespace asr */
+} /* namespace app */
+} /* namespace arm */
+
template <typename T>
static TfLiteTensor GetTestTensor(
std::vector<int>& shape,
@@ -51,7 +63,10 @@ TEST_CASE("Checking return value")
const uint32_t outputCtxLen = 5;
arm::app::AsrClassifier classifier;
arm::app::Wav2LetterModel model;
- model.Init();
+ model.Init(arm::app::tensorArena,
+ sizeof(arm::app::tensorArena),
+ arm::app::asr::GetModelPointer(),
+ arm::app::asr::GetModelLen());
std::vector<std::string> dummyLabels = {"a", "b", "$"};
const uint32_t blankTokenIdx = 2;
std::vector<arm::app::ClassificationResult> dummyResult;
@@ -71,7 +86,10 @@ TEST_CASE("Checking return value")
const uint32_t outputCtxLen = 5;
arm::app::AsrClassifier classifier;
arm::app::Wav2LetterModel model;
- model.Init();
+ model.Init(arm::app::tensorArena,
+ sizeof(arm::app::tensorArena),
+ arm::app::asr::GetModelPointer(),
+ arm::app::asr::GetModelLen());
std::vector<std::string> dummyLabels = {"a", "b", "$"};
const uint32_t blankTokenIdx = 2;
std::vector<arm::app::ClassificationResult> dummyResult;
@@ -102,7 +120,10 @@ TEST_CASE("Postprocessing - erasing required elements")
std::vector<int> tensorShape = {1, 1, nRows, nCols};
arm::app::AsrClassifier classifier;
arm::app::Wav2LetterModel model;
- model.Init();
+ model.Init(arm::app::tensorArena,
+ sizeof(arm::app::tensorArena),
+ arm::app::asr::GetModelPointer(),
+ arm::app::asr::GetModelLen());
std::vector<std::string> dummyLabels = {"a", "b", "$"};
std::vector<arm::app::ClassificationResult> dummyResult;