diff options
author | Narumol Prangnawarat <narumol.prangnawarat@arm.com> | 2019-07-08 08:57:17 +0100 |
---|---|---|
committer | Narumol Prangnawarat <narumol.prangnawarat@arm.com> | 2019-07-09 10:48:58 +0000 |
commit | e6eaf661c5b84f4ca051daaf08281d9b8de3fcb9 (patch) | |
tree | 63f3fa42b5a0389b9e69940d0960ec7fa609af93 /src/backends/backendsCommon/test | |
parent | 6059784511ce472c9df2289582ad13a0e2aa160e (diff) | |
download | armnn-e6eaf661c5b84f4ca051daaf08281d9b8de3fcb9.tar.gz |
IVGCVSW-3399 Add support of QuantisedSymm16 to Pad
* Add support of QuantisedSymm16 to Pad
* Fix custom padding tests
* Add unit tests for Pad QuantisedSymm16
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: Ieb9a4492760b13fa030a42eb4d38fd9ffd7a8c76
Diffstat (limited to 'src/backends/backendsCommon/test')
-rw-r--r-- | src/backends/backendsCommon/test/LayerTests.cpp | 37 | ||||
-rw-r--r-- | src/backends/backendsCommon/test/LayerTests.hpp | 24 |
2 files changed, 53 insertions, 8 deletions
diff --git a/src/backends/backendsCommon/test/LayerTests.cpp b/src/backends/backendsCommon/test/LayerTests.cpp index e8257fdc7a..82dda3b342 100644 --- a/src/backends/backendsCommon/test/LayerTests.cpp +++ b/src/backends/backendsCommon/test/LayerTests.cpp @@ -6030,13 +6030,13 @@ float CalcInvL2Norm(std::initializer_list<float> elements) } // anonymous namespace -template<armnn::DataType ArmnnType, typename T = armnn::ResolveType<ArmnnType>> +template<armnn::DataType ArmnnType, typename T> LayerTestResult<T, 2> Pad2dTestCommon( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, float qScale, int32_t qOffset, - const float customPaddingValue = 0) + const float customPaddingValue) { const armnn::TensorShape inputShape{ 3, 3 }; const armnn::TensorShape outputShape{ 7, 7 }; @@ -6103,7 +6103,7 @@ LayerTestResult<T, 2> Pad2dTestCommon( return result; } -template<armnn::DataType ArmnnType, typename T = armnn::ResolveType<ArmnnType>> +template<armnn::DataType ArmnnType, typename T> LayerTestResult<T, 3> Pad3dTestCommon( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, @@ -6188,7 +6188,7 @@ LayerTestResult<T, 3> Pad3dTestCommon( return result; } -template<armnn::DataType ArmnnType, typename T = armnn::ResolveType<ArmnnType>> +template<armnn::DataType ArmnnType, typename T> LayerTestResult<T, 4> Pad4dTestCommon( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, @@ -6437,7 +6437,7 @@ LayerTestResult<uint8_t, 2> PadUint82dCustomPaddingTest( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) { - return Pad2dTestCommon<armnn::DataType::QuantisedAsymm8>(workloadFactory, memoryManager, 1.0f, 0, 1); + return Pad2dTestCommon<armnn::DataType::QuantisedAsymm8>(workloadFactory, memoryManager, 1.0f, 0, 1.0f); } LayerTestResult<uint8_t, 3> PadUint83dTest( @@ -6454,6 +6454,29 @@ LayerTestResult<uint8_t, 4> PadUint84dTest( return Pad4dTestCommon<armnn::DataType::QuantisedAsymm8>(workloadFactory, memoryManager, 1.0f, 0); } + +template LayerTestResult<typename armnn::ResolveType<armnn::DataType::QuantisedSymm16>, 2> +Pad2dTestCommon<armnn::DataType::QuantisedSymm16>( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + float qScale, + int32_t qOffset, + const float customPaddingValue); + +template LayerTestResult<typename armnn::ResolveType<armnn::DataType::QuantisedSymm16>, 3> +Pad3dTestCommon<armnn::DataType::QuantisedSymm16>( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + float qScale, + int32_t qOffset); + +template LayerTestResult<typename armnn::ResolveType<armnn::DataType::QuantisedSymm16>, 4> +Pad4dTestCommon<armnn::DataType::QuantisedSymm16>( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + float qScale, + int32_t qOffset); + LayerTestResult<float, 2> PadFloat322dTest( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) @@ -6465,7 +6488,7 @@ LayerTestResult<float, 2> PadFloat322dCustomPaddingTest( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) { - return Pad2dTestCommon<armnn::DataType::Float32>(workloadFactory, memoryManager, 0.0f, 0, 1); + return Pad2dTestCommon<armnn::DataType::Float32>(workloadFactory, memoryManager, 0.0f, 0, 1.0f); } LayerTestResult<float, 3> PadFloat323dTest( @@ -10198,4 +10221,4 @@ LayerTestResult<int16_t, 4> UnbiasedStridedTransposeConvolution2dInt16NhwcTest( memoryManager, false, armnn::DataLayout::NHWC); -}
\ No newline at end of file +} diff --git a/src/backends/backendsCommon/test/LayerTests.hpp b/src/backends/backendsCommon/test/LayerTests.hpp index 4eb01accc4..108ea79070 100644 --- a/src/backends/backendsCommon/test/LayerTests.hpp +++ b/src/backends/backendsCommon/test/LayerTests.hpp @@ -1438,6 +1438,28 @@ LayerTestResult<float, 4> PadFloat324dTest( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); +template<armnn::DataType ArmnnType, typename T = armnn::ResolveType<ArmnnType>> +LayerTestResult<T, 2> Pad2dTestCommon( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + float qScale, + int32_t qOffset, + const float customPaddingValue = 0.0f); + +template<armnn::DataType ArmnnType, typename T = armnn::ResolveType<ArmnnType>> +LayerTestResult<T, 3> Pad3dTestCommon( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + float qScale, + int32_t qOffset); + +template<armnn::DataType ArmnnType, typename T = armnn::ResolveType<ArmnnType>> +LayerTestResult<T, 4> Pad4dTestCommon( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + float qScale, + int32_t qOffset); + void LstmUtilsZeroVectorTest(); void LstmUtilsMeanStddevNormalizationNoneZeroInputTest(); void LstmUtilsMeanStddevNormalizationAllZeroInputTest(); @@ -4446,4 +4468,4 @@ LayerTestResult<int16_t, 4> UnbiasedStridedTransposeConvolution2dInt16NchwTest( LayerTestResult<int16_t, 4> UnbiasedStridedTransposeConvolution2dInt16NhwcTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
\ No newline at end of file + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); |