From: Finn Williams Date: Wed, 26 Aug 2020 15:19:15 +0000 (+0100) Subject: IVGCVSW-5250 Remove CreateTensorHandle in the test for layers between E-F X-Git-Tag: submit/tizen/20210421.062230~351 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=8702007eb96dd857776763f045052cc8815d9350;p=platform%2Fupstream%2Farmnn.git IVGCVSW-5250 Remove CreateTensorHandle in the test for layers between E-F * Added new test function to pass in the ITensorHandleFactory Signed-off-by: Finn Williams Change-Id: I9b2e9250200e092541e29796ec53cabd0b677acf --- diff --git a/src/armnn/test/UnitTests.hpp b/src/armnn/test/UnitTests.hpp index 2d9c158..058a932 100644 --- a/src/armnn/test/UnitTests.hpp +++ b/src/armnn/test/UnitTests.hpp @@ -74,6 +74,24 @@ void RunTestFunction(const char* testName, TFuncPtr testFunction, Args... args) armnn::ProfilerManager::GetInstance().RegisterProfiler(nullptr); } + +template +void RunTestFunctionUsingTensorHandleFactory(const char* testName, TFuncPtr testFunction, Args... args) +{ + std::unique_ptr profiler = std::make_unique(); + armnn::ProfilerManager::GetInstance().RegisterProfiler(profiler.get()); + + auto memoryManager = WorkloadFactoryHelper::GetMemoryManager(); + FactoryType workloadFactory = WorkloadFactoryHelper::GetFactory(memoryManager); + + auto tensorHandleFactory = WorkloadFactoryHelper::GetTensorHandleFactory(memoryManager); + + auto testResult = (*testFunction)(workloadFactory, memoryManager, &tensorHandleFactory, args...); + CompareTestResultIfSupported(testName, testResult); + + armnn::ProfilerManager::GetInstance().RegisterProfiler(nullptr); +} + #define ARMNN_SIMPLE_TEST_CASE(TestName, TestFunction) \ BOOST_AUTO_TEST_CASE(TestName) \ { \ @@ -86,6 +104,12 @@ void RunTestFunction(const char* testName, TFuncPtr testFunction, Args... args) RunTestFunction(#TestName, &TestFunction, ##__VA_ARGS__); \ } +#define ARMNN_AUTO_TEST_CASE_WITH_THF(TestName, TestFunction, ...) \ + BOOST_AUTO_TEST_CASE(TestName) \ + { \ + RunTestFunctionUsingTensorHandleFactory(#TestName, &TestFunction, ##__VA_ARGS__); \ + } + template void CompareRefTestFunction(const char* testName, TFuncPtr testFunction, Args... args) { diff --git a/src/backends/backendsCommon/test/layerTests/FakeQuantizationTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/FakeQuantizationTestImpl.cpp index c9adcc8..8c535a6 100644 --- a/src/backends/backendsCommon/test/layerTests/FakeQuantizationTestImpl.cpp +++ b/src/backends/backendsCommon/test/layerTests/FakeQuantizationTestImpl.cpp @@ -15,7 +15,8 @@ LayerTestResult FakeQuantizationTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + armnn::ITensorHandleFactory* tensorHandleFactory) { IgnoreUnused(memoryManager); constexpr unsigned int width = 2; @@ -32,10 +33,8 @@ LayerTestResult FakeQuantizationTest( LayerTestResult ret(tensorInfo); - ARMNN_NO_DEPRECATE_WARN_BEGIN - std::unique_ptr inputHandle = workloadFactory.CreateTensorHandle(tensorInfo); - std::unique_ptr outputHandle = workloadFactory.CreateTensorHandle(tensorInfo); - ARMNN_NO_DEPRECATE_WARN_END + std::unique_ptr inputHandle = tensorHandleFactory->CreateTensorHandle(tensorInfo); + std::unique_ptr outputHandle = tensorHandleFactory->CreateTensorHandle(tensorInfo); armnn::FakeQuantizationQueueDescriptor data; armnn::WorkloadInfo info; diff --git a/src/backends/backendsCommon/test/layerTests/FakeQuantizationTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/FakeQuantizationTestImpl.hpp index b317d40..38f642e 100644 --- a/src/backends/backendsCommon/test/layerTests/FakeQuantizationTestImpl.hpp +++ b/src/backends/backendsCommon/test/layerTests/FakeQuantizationTestImpl.hpp @@ -9,7 +9,9 @@ #include #include +#include LayerTestResult FakeQuantizationTest( - armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + armnn::ITensorHandleFactory* tensorHandleFactory); diff --git a/src/backends/backendsCommon/test/layerTests/FillTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/FillTestImpl.cpp index 7c62678..f848cfd 100644 --- a/src/backends/backendsCommon/test/layerTests/FillTestImpl.cpp +++ b/src/backends/backendsCommon/test/layerTests/FillTestImpl.cpp @@ -14,7 +14,8 @@ template LayerTestResult SimpleFillTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + armnn::ITensorHandleFactory* tensorHandleFactory) { IgnoreUnused(memoryManager); armnn::TensorInfo inputTensorInfo({4}, armnn::DataType::Signed32); @@ -30,10 +31,8 @@ LayerTestResult SimpleFillTest( 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f }, outputTensorInfo)); - ARMNN_NO_DEPRECATE_WARN_BEGIN - std::unique_ptr inputHandle = workloadFactory.CreateTensorHandle(inputTensorInfo); - std::unique_ptr outputHandle = workloadFactory.CreateTensorHandle(outputTensorInfo); - ARMNN_NO_DEPRECATE_WARN_END + std::unique_ptr inputHandle = tensorHandleFactory->CreateTensorHandle(inputTensorInfo); + std::unique_ptr outputHandle = tensorHandleFactory->CreateTensorHandle(outputTensorInfo); armnn::FillQueueDescriptor data; data.m_Parameters.m_Value = 1.0f; @@ -61,14 +60,17 @@ LayerTestResult SimpleFillTest( template LayerTestResult, 4> SimpleFillTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + armnn::ITensorHandleFactory* tensorHandleFactory); template LayerTestResult, 4> SimpleFillTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + armnn::ITensorHandleFactory* tensorHandleFactory); template LayerTestResult, 4> SimpleFillTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); \ No newline at end of file + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + armnn::ITensorHandleFactory* tensorHandleFactory); \ No newline at end of file diff --git a/src/backends/backendsCommon/test/layerTests/FillTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/FillTestImpl.hpp index 9889007..dab77a7 100644 --- a/src/backends/backendsCommon/test/layerTests/FillTestImpl.hpp +++ b/src/backends/backendsCommon/test/layerTests/FillTestImpl.hpp @@ -15,4 +15,5 @@ template> LayerTestResult SimpleFillTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + armnn::ITensorHandleFactory* tensorHandleFactory); diff --git a/src/backends/cl/test/ClLayerTests.cpp b/src/backends/cl/test/ClLayerTests.cpp index d1e84cb..cf0d2ad 100644 --- a/src/backends/cl/test/ClLayerTests.cpp +++ b/src/backends/cl/test/ClLayerTests.cpp @@ -463,9 +463,9 @@ ARMNN_AUTO_TEST_CASE(DepthToSpaceNhwcInt16_3, DepthToSpaceTest3, DataLayout::NHWC); // Fill -ARMNN_AUTO_TEST_CASE(SimpleFill, SimpleFillTest) -ARMNN_AUTO_TEST_CASE(SimpleFillF16, SimpleFillTest) -ARMNN_AUTO_TEST_CASE(SimpleFillS32, SimpleFillTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(SimpleFill, SimpleFillTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(SimpleFillF16, SimpleFillTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(SimpleFillS32, SimpleFillTest) // Floor ARMNN_AUTO_TEST_CASE(SimpleFloor, SimpleFloorTest) diff --git a/src/backends/neon/test/NeonLayerTests.cpp b/src/backends/neon/test/NeonLayerTests.cpp index a54c036..0c5e2d0 100644 --- a/src/backends/neon/test/NeonLayerTests.cpp +++ b/src/backends/neon/test/NeonLayerTests.cpp @@ -1297,9 +1297,9 @@ ARMNN_AUTO_TEST_CASE(ExpZero, ExpZeroTest) ARMNN_AUTO_TEST_CASE(ExpNegative, ExpNegativeTest) // Fill -ARMNN_AUTO_TEST_CASE(SimpleFill, SimpleFillTest) -ARMNN_AUTO_TEST_CASE(SimpleFillF16, SimpleFillTest) -ARMNN_AUTO_TEST_CASE(SimpleFillS32, SimpleFillTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(SimpleFill, SimpleFillTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(SimpleFillF16, SimpleFillTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(SimpleFillS32, SimpleFillTest) #if defined(ARMNNREF_ENABLED) diff --git a/src/backends/reference/test/RefLayerTests.cpp b/src/backends/reference/test/RefLayerTests.cpp index 3ca4dd5..2ff2890 100644 --- a/src/backends/reference/test/RefLayerTests.cpp +++ b/src/backends/reference/test/RefLayerTests.cpp @@ -1232,7 +1232,7 @@ ARMNN_AUTO_TEST_CASE(AlignCornersResizeNearestNeighbourUint16Nchw, DataLayout::NCHW) // Fake Quantization -ARMNN_AUTO_TEST_CASE(FakeQuantization, FakeQuantizationTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(FakeQuantization, FakeQuantizationTest) // L2 Normalization ARMNN_AUTO_TEST_CASE(L2Normalization1d, L2Normalization1dTest, DataLayout::NCHW) @@ -1359,9 +1359,9 @@ ARMNN_AUTO_TEST_CASE(Concat4dDiffShapeDim2Uint8, Concat4dDiffShapeDim2Uint8Test) ARMNN_AUTO_TEST_CASE(Concat4dDiffShapeDim3Uint8, Concat4dDiffShapeDim3Uint8Test, true) // Fill -ARMNN_AUTO_TEST_CASE(SimpleFill, SimpleFillTest) -ARMNN_AUTO_TEST_CASE(SimpleFillF16, SimpleFillTest) -ARMNN_AUTO_TEST_CASE(SimpleFillS32, SimpleFillTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(SimpleFill, SimpleFillTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(SimpleFillF16, SimpleFillTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(SimpleFillS32, SimpleFillTest) // Floor ARMNN_AUTO_TEST_CASE(SimpleFloor, SimpleFloorTest)