From 3bc00ec1aae17d8bec1c31495141438ffee88dd8 Mon Sep 17 00:00:00 2001 From: Aron Virginas-Tar Date: Fri, 18 Oct 2019 15:42:58 +0100 Subject: IVGCVSW-3999 Add unit tests for new comparison operations * Refactored existing tests for Equal and Greater and moved them to ComparisonTestImpl.cpp * Removed EqualTestImpl.cpp and GreaterTestImpl.cpp * Added new unit tests for GreaterOrEqual, Less, LessOrEqual and NotEqual Signed-off-by: Aron Virginas-Tar Change-Id: I25013200beb1acb88e83b813c5382cb277c74cd7 --- .../test/layerTests/EqualTestImpl.cpp | 265 --------------------- 1 file changed, 265 deletions(-) delete mode 100644 src/backends/backendsCommon/test/layerTests/EqualTestImpl.cpp (limited to 'src/backends/backendsCommon/test/layerTests/EqualTestImpl.cpp') diff --git a/src/backends/backendsCommon/test/layerTests/EqualTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/EqualTestImpl.cpp deleted file mode 100644 index a3d2b2796f..0000000000 --- a/src/backends/backendsCommon/test/layerTests/EqualTestImpl.cpp +++ /dev/null @@ -1,265 +0,0 @@ -// -// Copyright © 2017 Arm Ltd. All rights reserved. -// SPDX-License-Identifier: MIT -// - -#include "EqualTestImpl.hpp" - -#include "ComparisonTestImpl.hpp" - -#include - -LayerTestResult EqualSimpleTest(armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) -{ - const unsigned int width = 2u; - const unsigned int height = 2u; - const unsigned int channelCount = 2u; - const unsigned int batchSize = 2u; - - unsigned int shape[] = { batchSize, channelCount, height, width }; - - std::vector input0 = - { - 1.f, 1.f, 1.f, 1.f, 5.f, 5.f, 5.f, 5.f, - 3.f, 3.f, 3.f, 3.f, 4.f, 4.f, 4.f, 4.f - }; - - std::vector input1({ 1, 1, 1, 1, 3, 3, 3, 3, - 5, 5, 5, 5, 4, 4, 4, 4 }); - - std::vector output({ 1, 1, 1, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 1, 1, 1 }); - - return ComparisonTestImpl<4, armnn::DataType::Float32>( - workloadFactory, - memoryManager, - armnn::ComparisonDescriptor(armnn::ComparisonOperation::Equal), - shape, - input0, - shape, - input1, - shape, - output); -} - -LayerTestResult EqualBroadcast1ElementTest( - armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) -{ - unsigned int shape0[] = { 1, 2, 2, 2 }; - std::vector input0({ 1, 2, 3, 4, 5, 6, 7, 8}); - - unsigned int shape1[] = { 1, 1, 1, 1 }; - std::vector input1({ 1 }); - - std::vector output({ 1, 0, 0, 0, 0, 0, 0, 0}); - - return ComparisonTestImpl<4, armnn::DataType::Float32>( - workloadFactory, - memoryManager, - armnn::ComparisonDescriptor(armnn::ComparisonOperation::Equal), - shape0, - input0, - shape1, - input1, - shape0, - output); -} - -LayerTestResult EqualBroadcast1DVectorTest( - armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) -{ - const unsigned int shape0[] = { 1, 2, 2, 3 }; - const unsigned int shape1[] = { 1, 1, 1, 3 }; - - std::vector input0({ 1, 2, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12 }); - - std::vector input1({ 1, 2, 3}); - - std::vector output({ 1, 1, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0 }); - - return ComparisonTestImpl<4, armnn::DataType::Float32>( - workloadFactory, - memoryManager, - armnn::ComparisonDescriptor(armnn::ComparisonOperation::Equal), - shape0, - input0, - shape1, - input1, - shape0, - output); -} - -LayerTestResult EqualFloat16Test( - armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) -{ - using namespace half_float::literal; - - unsigned int shape[] = { 2, 2, 2, 2 }; - - // See dequantized values to the right. - std::vector input0({ 1._h, 1._h, 1._h, 1._h, 6._h, 6._h, 6._h, 6._h, - 3._h, 3._h, 3._h, 3._h, 7._h, 7._h, 7._h, 7._h }); - - std::vector input1({ 2._h, 2._h, 2._h, 2._h, 6._h, 6._h, 6._h, 6._h, - 3._h, 3._h, 3._h, 3._h, 5._h, 5._h, 5._h, 5._h }); - - std::vector output({ 0, 0, 0, 0, 1, 1, 1, 1, - 1, 1, 1, 1, 0, 0, 0, 0 }); - - return ComparisonTestImpl<4, armnn::DataType::Float16>( - workloadFactory, - memoryManager, - armnn::ComparisonDescriptor(armnn::ComparisonOperation::Equal), - shape, - input0, - shape, - input1, - shape, - output); -} - -LayerTestResult EqualBroadcast1ElementFloat16Test( - armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) -{ - using namespace half_float::literal; - - const unsigned int shape0[] = { 1, 2, 2, 3 }; - const unsigned int shape1[] = { 1, 1, 1, 1 }; - - std::vector input0({ 1._h, 2._h, 3._h, 4._h, 5._h, 6._h, - 7._h, 8._h, 9._h, 10._h, 11._h, 12._h }); - - std::vector input1({ 1._h }); - - std::vector output({ 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0 }); - - return ComparisonTestImpl<4, armnn::DataType::Float16>( - workloadFactory, - memoryManager, - armnn::ComparisonDescriptor(armnn::ComparisonOperation::Equal), - shape0, - input0, - shape1, - input1, - shape0, - output); -} - -LayerTestResult EqualBroadcast1DVectorFloat16Test( - armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) -{ - using namespace half_float::literal; - - const unsigned int shape0[] = { 1, 2, 2, 3 }; - const unsigned int shape1[] = { 1, 1, 1, 3 }; - - std::vector input0({ 1._h, 2._h, 3._h, 4._h, 5._h, 6._h, - 7._h, 8._h, 9._h, 10._h, 11._h, 12._h }); - - std::vector input1({ 1._h, 1._h, 3._h }); - - std::vector output({ 1, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0 }); - - return ComparisonTestImpl<4, armnn::DataType::Float16>( - workloadFactory, - memoryManager, - armnn::ComparisonDescriptor(armnn::ComparisonOperation::Equal), - shape0, - input0, - shape1, - input1, - shape0, - output); -} - -LayerTestResult EqualUint8Test( - armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) -{ - unsigned int shape[] = { 2, 2, 2, 2 }; - - // See dequantized values to the right. - std::vector input0({ 1, 1, 1, 1, 6, 6, 6, 6, - 3, 3, 3, 3, 7, 7, 7, 7 }); - - std::vector input1({ 2, 2, 2, 2, 6, 6, 6, 6, - 3, 3, 3, 3, 5, 5, 5, 5 }); - - std::vector output({ 0, 0, 0, 0, 1, 1, 1, 1, - 1, 1, 1, 1, 0, 0, 0, 0 }); - - return ComparisonTestImpl<4, armnn::DataType::QuantisedAsymm8>( - workloadFactory, - memoryManager, - armnn::ComparisonDescriptor(armnn::ComparisonOperation::Equal), - shape, - input0, - shape, - input1, - shape, - output); -} - -LayerTestResult EqualBroadcast1ElementUint8Test( - armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) -{ - const unsigned int shape0[] = { 1, 2, 2, 3 }; - const unsigned int shape1[] = { 1, 1, 1, 1 }; - - std::vector input0({ 1, 2, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12 }); - - std::vector input1({ 1 }); - - std::vector output({ 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0 }); - - return ComparisonTestImpl<4, armnn::DataType::QuantisedAsymm8>( - workloadFactory, - memoryManager, - armnn::ComparisonDescriptor(armnn::ComparisonOperation::Equal), - shape0, - input0, - shape1, - input1, - shape0, - output); -} - -LayerTestResult EqualBroadcast1DVectorUint8Test( - armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) -{ - const unsigned int shape0[] = { 1, 2, 2, 3 }; - const unsigned int shape1[] = { 1, 1, 1, 3 }; - - std::vector input0({ 1, 2, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12 }); - - std::vector input1({ 1, 1, 3}); - - std::vector output({ 1, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0 }); - - return ComparisonTestImpl<4, armnn::DataType::QuantisedAsymm8>( - workloadFactory, - memoryManager, - armnn::ComparisonDescriptor(armnn::ComparisonOperation::Equal), - shape0, - input0, - shape1, - input1, - shape0, - output); -} -- cgit v1.2.1