From 43528ac476836b225b076fbced7a73a8c87e277c Mon Sep 17 00:00:00 2001 From: Sadik Armagan Date: Thu, 27 Aug 2020 09:06:40 +0100 Subject: IVGCVSW-5251 'Remove CreateTensorHandle for ArgMinMaxTestImpl' * Refactored ArgMinMax tests to use TensorHandleFactory instead of WorkloadFactory Signed-off-by: Sadik Armagan Change-Id: Ibff0f9370972f9a0a977c05275cb6168f8f88ae5 --- .../test/layerTests/ArgMinMaxTestImpl.cpp | 142 +++++++++++++-------- .../test/layerTests/ArgMinMaxTestImpl.hpp | 21 ++- 2 files changed, 104 insertions(+), 59 deletions(-) (limited to 'src/backends/backendsCommon/test') diff --git a/src/backends/backendsCommon/test/layerTests/ArgMinMaxTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/ArgMinMaxTestImpl.cpp index c2aad3d4fb..153d7269f7 100644 --- a/src/backends/backendsCommon/test/layerTests/ArgMinMaxTestImpl.cpp +++ b/src/backends/backendsCommon/test/layerTests/ArgMinMaxTestImpl.cpp @@ -18,7 +18,8 @@ namespace template> LayerTestResult ArgMinMaxTestCommon( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::IBackendInternal::IMemoryManagerSharedPtr&, + armnn::ITensorHandleFactory* tensorHandleFactory, armnn::ArgMinMaxFunction argMinMaxFunction, const armnn::TensorInfo inputTensorInfo, const armnn::TensorInfo outputTensorInfo, @@ -26,16 +27,13 @@ LayerTestResult ArgMinMaxTestCommon( const std::vector& outputData, int axis = 3) { - IgnoreUnused(memoryManager); auto inputTensor = MakeTensor(inputTensorInfo, ConvertToDataType(inputData, inputTensorInfo)); LayerTestResult result(outputTensorInfo); result.outputExpected = MakeTensor(outputTensorInfo, outputData); - 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::ArgMinMaxQueueDescriptor descriptor; descriptor.m_Parameters.m_Function = argMinMaxFunction; @@ -65,7 +63,8 @@ LayerTestResult ArgMinMaxTestCommon( template LayerTestResult ArgMaxSimpleTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + armnn::ITensorHandleFactory* tensorHandleFactory) { const armnn::TensorShape inputShape{ 1, 1, 1, 5 }; const armnn::TensorShape outputShape{ 1, 1, 1 }; @@ -83,7 +82,7 @@ LayerTestResult ArgMaxSimpleTest( std::vector inputValues({ 5.0f, 2.0f, 8.0f, 10.0f, 9.0f }); std::vector outputValues({ 3 }); - return ArgMinMaxTestCommon(workloadFactory, memoryManager, + return ArgMinMaxTestCommon(workloadFactory, memoryManager, tensorHandleFactory, armnn::ArgMinMaxFunction::Max, inputTensorInfo, outputTensorInfo, inputValues, outputValues, -1); // axis -1 === 3 @@ -92,7 +91,8 @@ LayerTestResult ArgMaxSimpleTest( template LayerTestResult ArgMinSimpleTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + armnn::ITensorHandleFactory* tensorHandleFactory) { const armnn::TensorShape inputShape{ 1, 1, 1, 5 }; const armnn::TensorShape outputShape{ 1, 1, 1 }; @@ -110,7 +110,7 @@ LayerTestResult ArgMinSimpleTest( std::vector inputValues({ 5.0f, 2.0f, 8.0f, 10.0f, 9.0f }); std::vector outputValues({ 1 }); - return ArgMinMaxTestCommon(workloadFactory, memoryManager, + return ArgMinMaxTestCommon(workloadFactory, memoryManager, tensorHandleFactory, armnn::ArgMinMaxFunction::Min, inputTensorInfo, outputTensorInfo, inputValues, outputValues, 3); @@ -119,7 +119,8 @@ LayerTestResult ArgMinSimpleTest( template LayerTestResult ArgMinChannelTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + armnn::ITensorHandleFactory* tensorHandleFactory) { const armnn::TensorShape inputShape{ 1, 3, 2, 4}; const armnn::TensorShape outputShape{ 1, 2, 4 }; @@ -145,7 +146,7 @@ LayerTestResult ArgMinChannelTest( std::vector outputValues({ 0, 0, 0, 0, 0, 0, 0, 0 }); - return ArgMinMaxTestCommon(workloadFactory, memoryManager, + return ArgMinMaxTestCommon(workloadFactory, memoryManager, tensorHandleFactory, armnn::ArgMinMaxFunction::Min, inputTensorInfo, outputTensorInfo, inputValues, outputValues, 1); @@ -154,7 +155,8 @@ LayerTestResult ArgMinChannelTest( template LayerTestResult ArgMaxChannelTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + armnn::ITensorHandleFactory* tensorHandleFactory) { const armnn::TensorShape inputShape{ 1, 3, 2, 4}; const armnn::TensorShape outputShape{ 1, 2, 4 }; @@ -180,7 +182,7 @@ LayerTestResult ArgMaxChannelTest( std::vector outputValues({ 2, 2, 2, 2, 2, 2, 2, 2 }); - return ArgMinMaxTestCommon(workloadFactory, memoryManager, + return ArgMinMaxTestCommon(workloadFactory, memoryManager, tensorHandleFactory, armnn::ArgMinMaxFunction::Max, inputTensorInfo, outputTensorInfo, inputValues, outputValues, 1); @@ -189,7 +191,8 @@ LayerTestResult ArgMaxChannelTest( template LayerTestResult ArgMaxHeightTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + armnn::ITensorHandleFactory* tensorHandleFactory) { const armnn::TensorShape inputShape{ 1, 3, 2, 4}; const armnn::TensorShape outputShape{ 1, 3, 4 }; @@ -215,7 +218,7 @@ LayerTestResult ArgMaxHeightTest( 1, 1, 1, 1, 1, 1, 1, 1 }); - return ArgMinMaxTestCommon(workloadFactory, memoryManager, + return ArgMinMaxTestCommon(workloadFactory, memoryManager, tensorHandleFactory, armnn::ArgMinMaxFunction::Max, inputTensorInfo, outputTensorInfo, inputValues, outputValues, 2); @@ -224,7 +227,8 @@ LayerTestResult ArgMaxHeightTest( template LayerTestResult ArgMinWidthTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + armnn::ITensorHandleFactory* tensorHandleFactory) { const armnn::TensorShape inputShape{ 1, 3, 2, 4}; const armnn::TensorShape outputShape{ 1, 3, 2 }; @@ -250,7 +254,7 @@ LayerTestResult ArgMinWidthTest( 0, 0, 0, 0 }); - return ArgMinMaxTestCommon(workloadFactory, memoryManager, + return ArgMinMaxTestCommon(workloadFactory, memoryManager, tensorHandleFactory, armnn::ArgMinMaxFunction::Min, inputTensorInfo, outputTensorInfo, inputValues, outputValues, 3); @@ -262,169 +266,203 @@ LayerTestResult ArgMinWidthTest( template LayerTestResult ArgMaxSimpleTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + armnn::ITensorHandleFactory* tensorHandleFactory); template LayerTestResult ArgMaxSimpleTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + armnn::ITensorHandleFactory* tensorHandleFactory); template LayerTestResult ArgMaxSimpleTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + armnn::ITensorHandleFactory* tensorHandleFactory); template LayerTestResult ArgMaxSimpleTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + armnn::ITensorHandleFactory* tensorHandleFactory); template LayerTestResult ArgMaxSimpleTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + armnn::ITensorHandleFactory* tensorHandleFactory); template LayerTestResult ArgMaxSimpleTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + armnn::ITensorHandleFactory* tensorHandleFactory); template LayerTestResult ArgMinSimpleTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + armnn::ITensorHandleFactory* tensorHandleFactory); template LayerTestResult ArgMinSimpleTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + armnn::ITensorHandleFactory* tensorHandleFactory); template LayerTestResult ArgMinSimpleTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + armnn::ITensorHandleFactory* tensorHandleFactory); template LayerTestResult ArgMinSimpleTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + armnn::ITensorHandleFactory* tensorHandleFactory); template LayerTestResult ArgMinSimpleTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + armnn::ITensorHandleFactory* tensorHandleFactory); template LayerTestResult ArgMinSimpleTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + armnn::ITensorHandleFactory* tensorHandleFactory); template LayerTestResult ArgMinChannelTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + armnn::ITensorHandleFactory* tensorHandleFactory); template LayerTestResult ArgMinChannelTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + armnn::ITensorHandleFactory* tensorHandleFactory); template LayerTestResult ArgMinChannelTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + armnn::ITensorHandleFactory* tensorHandleFactory); template LayerTestResult ArgMinChannelTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + armnn::ITensorHandleFactory* tensorHandleFactory); template LayerTestResult ArgMinChannelTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + armnn::ITensorHandleFactory* tensorHandleFactory); template LayerTestResult ArgMinChannelTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + armnn::ITensorHandleFactory* tensorHandleFactory); template LayerTestResult ArgMaxChannelTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + armnn::ITensorHandleFactory* tensorHandleFactory); template LayerTestResult ArgMaxChannelTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + armnn::ITensorHandleFactory* tensorHandleFactory); template LayerTestResult ArgMaxChannelTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + armnn::ITensorHandleFactory* tensorHandleFactory); template LayerTestResult ArgMaxChannelTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + armnn::ITensorHandleFactory* tensorHandleFactory); template LayerTestResult ArgMaxChannelTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + armnn::ITensorHandleFactory* tensorHandleFactory); template LayerTestResult ArgMaxChannelTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + armnn::ITensorHandleFactory* tensorHandleFactory); template LayerTestResult ArgMaxHeightTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + armnn::ITensorHandleFactory* tensorHandleFactory); template LayerTestResult ArgMaxHeightTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + armnn::ITensorHandleFactory* tensorHandleFactory); template LayerTestResult ArgMaxHeightTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + armnn::ITensorHandleFactory* tensorHandleFactory); template LayerTestResult ArgMaxHeightTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + armnn::ITensorHandleFactory* tensorHandleFactory); template LayerTestResult ArgMaxHeightTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + armnn::ITensorHandleFactory* tensorHandleFactory); template LayerTestResult ArgMinWidthTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + armnn::ITensorHandleFactory* tensorHandleFactory); template LayerTestResult ArgMinWidthTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + armnn::ITensorHandleFactory* tensorHandleFactory); template LayerTestResult ArgMinWidthTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + armnn::ITensorHandleFactory* tensorHandleFactory); template LayerTestResult ArgMinWidthTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + armnn::ITensorHandleFactory* tensorHandleFactory); template LayerTestResult ArgMinWidthTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + armnn::ITensorHandleFactory* tensorHandleFactory); diff --git a/src/backends/backendsCommon/test/layerTests/ArgMinMaxTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/ArgMinMaxTestImpl.hpp index 24deba71b7..2f3483e4bd 100644 --- a/src/backends/backendsCommon/test/layerTests/ArgMinMaxTestImpl.hpp +++ b/src/backends/backendsCommon/test/layerTests/ArgMinMaxTestImpl.hpp @@ -1,5 +1,5 @@ // -// Copyright © 2019 Arm Ltd. All rights reserved. +// Copyright © 2019 Arm Ltd and Contributors. All rights reserved. // SPDX-License-Identifier: MIT // @@ -11,27 +11,34 @@ #include #include +#include template> LayerTestResult ArgMaxSimpleTest(armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + armnn::ITensorHandleFactory* tensorHandleFactory); template> LayerTestResult ArgMinSimpleTest(armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + armnn::ITensorHandleFactory* tensorHandleFactory); template> LayerTestResult ArgMinChannelTest(armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + armnn::ITensorHandleFactory* tensorHandleFactory); template> LayerTestResult ArgMaxChannelTest(armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + armnn::ITensorHandleFactory* tensorHandleFactory); template> LayerTestResult ArgMaxHeightTest(armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + armnn::ITensorHandleFactory* tensorHandleFactory); template> LayerTestResult ArgMinWidthTest(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 -- cgit v1.2.1