diff options
author | Kshitij Sisodia <kshitij.sisodia@arm.com> | 2022-05-06 09:13:03 +0100 |
---|---|---|
committer | Kshitij Sisodia <kshitij.sisodia@arm.com> | 2022-05-06 17:11:41 +0100 |
commit | aa4bcb14d0cbee910331545dd2fc086b58c37170 (patch) | |
tree | e67a43a43f61c6f8b6aad19018b0827baf7e31a6 /tests/use_case/noise_reduction | |
parent | fcca863bafd5f33522bc14c23dde4540e264ec94 (diff) | |
download | ml-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/noise_reduction')
-rw-r--r-- | tests/use_case/noise_reduction/InferenceTestRNNoise.cc | 20 | ||||
-rw-r--r-- | tests/use_case/noise_reduction/RNNNoiseUCTests.cc | 24 | ||||
-rw-r--r-- | tests/use_case/noise_reduction/RNNoiseModelTests.cc | 27 |
3 files changed, 62 insertions, 9 deletions
diff --git a/tests/use_case/noise_reduction/InferenceTestRNNoise.cc b/tests/use_case/noise_reduction/InferenceTestRNNoise.cc index 4c9786f..9dc640b 100644 --- a/tests/use_case/noise_reduction/InferenceTestRNNoise.cc +++ b/tests/use_case/noise_reduction/InferenceTestRNNoise.cc @@ -17,10 +17,20 @@ #include "TensorFlowLiteMicro.hpp" #include "RNNoiseModel.hpp" #include "TestData_noise_reduction.hpp" +#include "BufAttributes.hpp" #include <catch.hpp> #include <random> +namespace arm { + namespace app { + static uint8_t tensorArena[ACTIVATION_BUF_SZ] ACTIVATION_BUF_ATTRIBUTE; + } /* namespace app */ +} /* namespace arm */ + +extern uint8_t* GetModelPointer(); +extern size_t GetModelLen(); + namespace test { namespace rnnoise { @@ -62,7 +72,10 @@ namespace rnnoise { arm::app::RNNoiseModel model{}; REQUIRE_FALSE(model.IsInited()); - REQUIRE(model.Init()); + REQUIRE(model.Init(arm::app::tensorArena, + sizeof(arm::app::tensorArena), + GetModelPointer(), + GetModelLen())); REQUIRE(model.IsInited()); REQUIRE(RunInferenceRandom(model)); @@ -121,7 +134,10 @@ namespace rnnoise { arm::app::RNNoiseModel model{}; REQUIRE_FALSE(model.IsInited()); - REQUIRE(model.Init()); + REQUIRE(model.Init(arm::app::tensorArena, + sizeof(arm::app::tensorArena), + GetModelPointer(), + GetModelLen())); REQUIRE(model.IsInited()); TestInference<int8_t>(goldenInputFV, goldenOutputFV, model); diff --git a/tests/use_case/noise_reduction/RNNNoiseUCTests.cc b/tests/use_case/noise_reduction/RNNNoiseUCTests.cc index cc1b4d7..bebfdfd 100644 --- a/tests/use_case/noise_reduction/RNNNoiseUCTests.cc +++ b/tests/use_case/noise_reduction/RNNNoiseUCTests.cc @@ -24,6 +24,15 @@ #include <hal.h> #include <Profiler.hpp> +namespace arm { + namespace app { + static uint8_t tensorArena[ACTIVATION_BUF_SZ] ACTIVATION_BUF_ATTRIBUTE; + } /* namespace app */ +} /* namespace arm */ + +extern uint8_t* GetModelPointer(); +extern size_t GetModelLen(); + #define PLATFORM hal_platform_init(); #define CONTEXT \ @@ -38,7 +47,10 @@ TEST_CASE("Verify output tensor memory dump") std::vector<uint8_t> memPool(maxMemDumpSz); /* Memory pool */ arm::app::RNNoiseModel model{}; - REQUIRE(model.Init()); + REQUIRE(model.Init(arm::app::tensorArena, + sizeof(arm::app::tensorArena), + GetModelPointer(), + GetModelLen())); REQUIRE(model.IsInited()); /* Populate the output tensors */ @@ -105,7 +117,10 @@ TEST_CASE("Inference run all clips", "[RNNoise]") caseContext.Set<uint32_t>("frameStride", g_FrameStride); /* Load the model. */ - REQUIRE(model.Init()); + REQUIRE(model.Init(arm::app::tensorArena, + sizeof(arm::app::tensorArena), + GetModelPointer(), + GetModelLen())); REQUIRE(arm::app::NoiseReductionHandler(caseContext, true)); } @@ -136,7 +151,10 @@ void testInfByIndex(std::vector<uint32_t>& numberOfInferences) { caseContext.Set<uint32_t>("frameStride", g_FrameStride); caseContext.Set<uint32_t>("numInputFeatures", g_NumInputFeatures); /* Load the model. */ - REQUIRE(model.Init()); + REQUIRE(model.Init(arm::app::tensorArena, + sizeof(arm::app::tensorArena), + GetModelPointer(), + GetModelLen())); size_t oneInferenceOutSizeBytes = g_FrameLength * sizeof(int16_t); diff --git a/tests/use_case/noise_reduction/RNNoiseModelTests.cc b/tests/use_case/noise_reduction/RNNoiseModelTests.cc index 7798975..9720ba5 100644 --- a/tests/use_case/noise_reduction/RNNoiseModelTests.cc +++ b/tests/use_case/noise_reduction/RNNoiseModelTests.cc @@ -17,10 +17,20 @@ #include "RNNoiseModel.hpp" #include "TensorFlowLiteMicro.hpp" #include "TestData_noise_reduction.hpp" +#include "BufAttributes.hpp" #include <catch.hpp> #include <random> +namespace arm { + namespace app { + static uint8_t tensorArena[ACTIVATION_BUF_SZ] ACTIVATION_BUF_ATTRIBUTE; + } /* namespace app */ +} /* namespace arm */ + +extern uint8_t* GetModelPointer(); +extern size_t GetModelLen(); + bool RunInference(arm::app::Model& model, std::vector<int8_t> vec, const size_t sizeRequired, const size_t dataInputIndex) { @@ -61,7 +71,10 @@ TEST_CASE("Running random inference with TensorFlow Lite Micro and RNNoiseModel arm::app::RNNoiseModel model{}; REQUIRE_FALSE(model.IsInited()); - REQUIRE(model.Init()); + REQUIRE(model.Init(arm::app::tensorArena, + sizeof(arm::app::tensorArena), + GetModelPointer(), + GetModelLen())); REQUIRE(model.IsInited()); model.ResetGruState(); @@ -114,7 +127,10 @@ void printArray(size_t dataSz, T data){ TEST_CASE("Test initial GRU out state is 0", "[RNNoise]") { TestRNNoiseModel model{}; - model.Init(); + model.Init(arm::app::tensorArena, + sizeof(arm::app::tensorArena), + GetModelPointer(), + GetModelLen()); auto map = model.GetStateMap(); @@ -135,7 +151,10 @@ TEST_CASE("Test initial GRU out state is 0", "[RNNoise]") TEST_CASE("Test GRU state copy", "[RNNoise]") { TestRNNoiseModel model{}; - model.Init(); + model.Init(arm::app::tensorArena, + sizeof(arm::app::tensorArena), + GetModelPointer(), + GetModelLen()); REQUIRE(RunInferenceRandom(model, 0)); auto map = model.GetStateMap(); @@ -162,4 +181,4 @@ TEST_CASE("Test GRU state copy", "[RNNoise]") statesIter++; } -}
\ No newline at end of file +} |