From 0434df6030eee9bb6842b02a8b28598cfe8f3460 Mon Sep 17 00:00:00 2001 From: Teresa Charlin Date: Thu, 6 Jun 2019 13:40:35 +0100 Subject: IVGCVSW-3143 Extend the Pooling 2d workload to support QSymm16 Signed-off-by: Teresa Charlin Change-Id: I4026a77377002f4f9c15a923e8fcb7075d700f6e --- src/backends/backendsCommon/test/LayerTests.cpp | 311 ++++++++++++++++++------ src/backends/backendsCommon/test/LayerTests.hpp | 107 +++++++- 2 files changed, 329 insertions(+), 89 deletions(-) (limited to 'src/backends/backendsCommon/test') diff --git a/src/backends/backendsCommon/test/LayerTests.cpp b/src/backends/backendsCommon/test/LayerTests.cpp index f780486626..fb07f9fe0b 100644 --- a/src/backends/backendsCommon/test/LayerTests.cpp +++ b/src/backends/backendsCommon/test/LayerTests.cpp @@ -8357,6 +8357,15 @@ LayerTestResult SimpleMaxPooling2dSize2x2Stride2x2Uint8Test( workloadFactory, memoryManager, forceNoPadding, 3.0f, -5); } +LayerTestResult SimpleMaxPooling2dSize2x2Stride2x2Int16Test( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + bool forceNoPadding) +{ + return SimpleMaxPooling2dSize2x2Stride2x2TestCommon( + workloadFactory, memoryManager, forceNoPadding); +} + LayerTestResult SimpleMaxPooling2dSize3x3Stride2x4Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, @@ -8375,6 +8384,15 @@ LayerTestResult SimpleMaxPooling2dSize3x3Stride2x4Uint8Test( workloadFactory, memoryManager, forceNoPadding, 0.1f, 128); } +LayerTestResult SimpleMaxPooling2dSize3x3Stride2x4Int16Test( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + bool forceNoPadding) +{ + return SimpleMaxPooling2dSize3x3Stride2x4TestCommon( + workloadFactory, memoryManager, forceNoPadding); +} + LayerTestResult SimpleMaxPooling2dTest( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, @@ -8391,6 +8409,59 @@ LayerTestResult SimpleMaxPooling2dUint8Test( return SimpleMaxPooling2dTestCommon(workloadFactory, memoryManager, dataLayout); } +LayerTestResult SimpleMaxPooling2dInt16Test( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::DataLayout dataLayout) +{ + return SimpleMaxPooling2dTestCommon(workloadFactory, memoryManager, dataLayout); +} +LayerTestResult IgnorePaddingSimpleMaxPooling2dTest( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) +{ + return IgnorePaddingSimpleMaxPooling2dTestCommon(workloadFactory, memoryManager); +} + +LayerTestResult IgnorePaddingSimpleMaxPooling2dUint8Test( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) +{ + return IgnorePaddingSimpleMaxPooling2dTestCommon( + workloadFactory, memoryManager, 1.0f, -5); +} + +LayerTestResult IgnorePaddingSimpleMaxPooling2dInt16Test( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) +{ + return IgnorePaddingSimpleMaxPooling2dTestCommon( + workloadFactory, memoryManager); +} + +LayerTestResult IgnorePaddingMaxPooling2dSize3Test( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) +{ + return IgnorePaddingMaxPooling2dSize3TestCommon(workloadFactory, memoryManager); +} + +LayerTestResult IgnorePaddingMaxPooling2dSize3Uint8Test( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) +{ + return IgnorePaddingMaxPooling2dSize3TestCommon( + workloadFactory, memoryManager, 1.0f, -5); +} + +LayerTestResult IgnorePaddingMaxPooling2dSize3Int16Test( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) +{ + return IgnorePaddingMaxPooling2dSize3TestCommon( + workloadFactory, memoryManager); +} + LayerTestResult SimpleAveragePooling2dTest( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, @@ -8408,6 +8479,15 @@ LayerTestResult SimpleAveragePooling2dUint8Test( workloadFactory, memoryManager, dataLayout, 0.5, -1); } +LayerTestResult SimpleAveragePooling2dInt16Test( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::DataLayout dataLayout) +{ + return SimpleAveragePooling2dTestCommon( + workloadFactory, memoryManager, dataLayout); +} + LayerTestResult IgnorePaddingAveragePooling2dSize3x2Stride2x2Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, @@ -8432,210 +8512,210 @@ LayerTestResult LargeTensorsAveragePooling2dUint8Test( workloadFactory, memoryManager, 0.5, -1); } -LayerTestResult SimpleL2Pooling2dTest( +LayerTestResult LargeTensorsAveragePooling2dInt16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, - const armnn::DataLayout dataLayout) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) { - return SimpleL2Pooling2dTestCommon(workloadFactory, memoryManager, dataLayout); + return LargeTensorsAveragePooling2dTestCommon( + workloadFactory, memoryManager); } - -LayerTestResult SimpleL2Pooling2dUint8Test( +LayerTestResult IgnorePaddingSimpleAveragePooling2dTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, - const armnn::DataLayout dataLayout) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) { - return SimpleL2Pooling2dTestCommon(workloadFactory, memoryManager, dataLayout); + return IgnorePaddingSimpleAveragePooling2dTestCommon(workloadFactory, memoryManager); } -LayerTestResult L2Pooling2dSize3Stride1Test( +LayerTestResult IgnorePaddingSimpleAveragePooling2dUint8Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) { - return L2Pooling2dSize3Stride1TestCommon(workloadFactory, memoryManager); + return IgnorePaddingSimpleAveragePooling2dTestCommon( + workloadFactory, memoryManager); } -LayerTestResult L2Pooling2dSize3Stride1Uint8Test( +LayerTestResult IgnorePaddingSimpleAveragePooling2dInt16Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) { - return L2Pooling2dSize3Stride1TestCommon(workloadFactory, memoryManager); + return IgnorePaddingSimpleAveragePooling2dTestCommon( + workloadFactory, memoryManager); } -LayerTestResult L2Pooling2dSize3Stride3Test( +LayerTestResult IgnorePaddingSimpleAveragePooling2dNoPaddingTest( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) { - return L2Pooling2dSize3Stride3TestCommon(workloadFactory, memoryManager); + return IgnorePaddingSimpleAveragePooling2dNoPaddingTestCommon( + workloadFactory, memoryManager); } -LayerTestResult L2Pooling2dSize3Stride3Uint8Test( +LayerTestResult IgnorePaddingSimpleAveragePooling2dNoPaddingUint8Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) { - return L2Pooling2dSize3Stride3TestCommon(workloadFactory, memoryManager); + return IgnorePaddingSimpleAveragePooling2dNoPaddingTestCommon( + workloadFactory, memoryManager); } -LayerTestResult L2Pooling2dSize3Stride4Test( +LayerTestResult IgnorePaddingSimpleAveragePooling2dNoPaddingInt16Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) { - return L2Pooling2dSize3Stride4TestCommon(workloadFactory, memoryManager); + return IgnorePaddingSimpleAveragePooling2dNoPaddingTestCommon( + workloadFactory, memoryManager); } -LayerTestResult L2Pooling2dSize3Stride4Uint8Test( +LayerTestResult IgnorePaddingAveragePooling2dSize3Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) { - return L2Pooling2dSize3Stride4TestCommon(workloadFactory, memoryManager); + return IgnorePaddingAveragePooling2dSize3TestCommon(workloadFactory, memoryManager); } -LayerTestResult L2Pooling2dSize7Test( +LayerTestResult IgnorePaddingAveragePooling2dSize3Uint8Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) { - return L2Pooling2dSize7TestCommon(workloadFactory, memoryManager); + return IgnorePaddingAveragePooling2dSize3TestCommon( + workloadFactory, memoryManager); } -LayerTestResult L2Pooling2dSize7Uint8Test( +LayerTestResult IgnorePaddingAveragePooling2dSize3Int16Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) { - return L2Pooling2dSize7TestCommon(workloadFactory, memoryManager); + return IgnorePaddingAveragePooling2dSize3TestCommon( + workloadFactory, memoryManager); } -LayerTestResult L2Pooling2dSize9Test( +LayerTestResult SimpleL2Pooling2dTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::DataLayout dataLayout) { - return L2Pooling2dSize9TestCommon(workloadFactory, memoryManager); + return SimpleL2Pooling2dTestCommon(workloadFactory, memoryManager, dataLayout); } -LayerTestResult L2Pooling2dSize9Uint8Test( +LayerTestResult SimpleL2Pooling2dUint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::DataLayout dataLayout) { - return L2Pooling2dSize9TestCommon(workloadFactory, memoryManager); + return SimpleL2Pooling2dTestCommon(workloadFactory, memoryManager, dataLayout); } -LayerTestResult AsymmetricNonSquarePooling2dTest( +LayerTestResult SimpleL2Pooling2dInt16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::DataLayout dataLayout) { - return AsymmetricNonSquarePooling2dTestCommon(workloadFactory, memoryManager); + return SimpleL2Pooling2dTestCommon(workloadFactory, memoryManager, dataLayout); } -LayerTestResult AsymmetricNonSquarePooling2dUint8Test( +LayerTestResult L2Pooling2dSize3Stride1Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) { - return AsymmetricNonSquarePooling2dTestCommon(workloadFactory, memoryManager); + return L2Pooling2dSize3Stride1TestCommon(workloadFactory, memoryManager); } -LayerTestResult ComparePooling2dTest( +LayerTestResult L2Pooling2dSize3Stride1Uint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, - armnn::IWorkloadFactory& refWorkloadFactory, - armnn::PoolingAlgorithm poolingType) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) { - return ComparePooling2dTestCommon( - workloadFactory, memoryManager, refWorkloadFactory, poolingType); + return L2Pooling2dSize3Stride1TestCommon(workloadFactory, memoryManager); } -LayerTestResult ComparePooling2dUint8Test( +LayerTestResult L2Pooling2dSize3Stride1Int16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, - armnn::IWorkloadFactory& refWorkloadFactory, - armnn::PoolingAlgorithm poolingType) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) { - return ComparePooling2dTestCommon( - workloadFactory, memoryManager, refWorkloadFactory, poolingType, 0.1f, 128); + return L2Pooling2dSize3Stride1TestCommon(workloadFactory, memoryManager); } -LayerTestResult FullyConnectedLargeTest( +LayerTestResult L2Pooling2dSize3Stride3Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, - bool transposeWeights) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) { - return FullyConnectedLargeTestCommon(workloadFactory, memoryManager, transposeWeights); + return L2Pooling2dSize3Stride3TestCommon(workloadFactory, memoryManager); } -LayerTestResult IgnorePaddingSimpleMaxPooling2dTest( +LayerTestResult L2Pooling2dSize3Stride3Uint8Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) { - return IgnorePaddingSimpleMaxPooling2dTestCommon(workloadFactory, memoryManager); + return L2Pooling2dSize3Stride3TestCommon(workloadFactory, memoryManager); } -LayerTestResult IgnorePaddingSimpleMaxPooling2dUint8Test( +LayerTestResult L2Pooling2dSize3Stride3Int16Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) { - return IgnorePaddingSimpleMaxPooling2dTestCommon( - workloadFactory, memoryManager, 1.0f, -5); + return L2Pooling2dSize3Stride3TestCommon(workloadFactory, memoryManager); } - -LayerTestResult IgnorePaddingMaxPooling2dSize3Test( +LayerTestResult L2Pooling2dSize3Stride4Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) { - return IgnorePaddingMaxPooling2dSize3TestCommon(workloadFactory, memoryManager); + return L2Pooling2dSize3Stride4TestCommon(workloadFactory, memoryManager); } -LayerTestResult IgnorePaddingMaxPooling2dSize3Uint8Test( +LayerTestResult L2Pooling2dSize3Stride4Uint8Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) { - return IgnorePaddingMaxPooling2dSize3TestCommon( - workloadFactory, memoryManager, 1.0f, -5); + return L2Pooling2dSize3Stride4TestCommon(workloadFactory, memoryManager); } -LayerTestResult IgnorePaddingSimpleAveragePooling2dTest( +LayerTestResult L2Pooling2dSize3Stride4Int16Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) { - return IgnorePaddingSimpleAveragePooling2dTestCommon(workloadFactory, memoryManager); + return L2Pooling2dSize3Stride4TestCommon(workloadFactory, memoryManager); } -LayerTestResult IgnorePaddingSimpleAveragePooling2dUint8Test( +LayerTestResult L2Pooling2dSize7Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) { - return IgnorePaddingSimpleAveragePooling2dTestCommon( - workloadFactory, memoryManager); + return L2Pooling2dSize7TestCommon(workloadFactory, memoryManager); } -LayerTestResult IgnorePaddingSimpleAveragePooling2dNoPaddingTest( +LayerTestResult L2Pooling2dSize7Uint8Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) { - return IgnorePaddingSimpleAveragePooling2dNoPaddingTestCommon( - workloadFactory, memoryManager); + return L2Pooling2dSize7TestCommon(workloadFactory, memoryManager); } -LayerTestResult IgnorePaddingSimpleAveragePooling2dNoPaddingUint8Test( +LayerTestResult L2Pooling2dSize7Int16Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) { - return IgnorePaddingSimpleAveragePooling2dNoPaddingTestCommon( - workloadFactory, memoryManager); + return L2Pooling2dSize7TestCommon(workloadFactory, memoryManager); } -LayerTestResult IgnorePaddingAveragePooling2dSize3Test( +LayerTestResult L2Pooling2dSize9Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) { - return IgnorePaddingAveragePooling2dSize3TestCommon(workloadFactory, memoryManager); + return L2Pooling2dSize9TestCommon(workloadFactory, memoryManager); } -LayerTestResult IgnorePaddingAveragePooling2dSize3Uint8Test( +LayerTestResult L2Pooling2dSize9Uint8Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) { - return IgnorePaddingAveragePooling2dSize3TestCommon( - workloadFactory, memoryManager); + return L2Pooling2dSize9TestCommon(workloadFactory, memoryManager); } +LayerTestResult L2Pooling2dSize9Int16Test( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) +{ + return L2Pooling2dSize9TestCommon(workloadFactory, memoryManager); +} LayerTestResult IgnorePaddingSimpleL2Pooling2dTest( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) @@ -8650,6 +8730,13 @@ LayerTestResult IgnorePaddingSimpleL2Pooling2dUint8Test( return IgnorePaddingSimpleL2Pooling2dTestCommon(workloadFactory, memoryManager); } +LayerTestResult IgnorePaddingSimpleL2Pooling2dInt16Test( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) +{ + return IgnorePaddingSimpleL2Pooling2dTestCommon(workloadFactory, memoryManager); +} + LayerTestResult IgnorePaddingL2Pooling2dSize3Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) @@ -8664,6 +8751,72 @@ LayerTestResult IgnorePaddingL2Pooling2dSize3Uint8Test( return IgnorePaddingL2Pooling2dSize3TestCommon(workloadFactory, memoryManager); } +LayerTestResult IgnorePaddingL2Pooling2dSize3Int16Test( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) +{ + return IgnorePaddingL2Pooling2dSize3TestCommon(workloadFactory, memoryManager); +} + +LayerTestResult AsymmetricNonSquarePooling2dTest( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) +{ + return AsymmetricNonSquarePooling2dTestCommon(workloadFactory, memoryManager); +} + +LayerTestResult AsymmetricNonSquarePooling2dUint8Test( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) +{ + return AsymmetricNonSquarePooling2dTestCommon(workloadFactory, memoryManager); +} + +LayerTestResult AsymmetricNonSquarePooling2dInt16Test( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) +{ + return AsymmetricNonSquarePooling2dTestCommon(workloadFactory, memoryManager); +} + +LayerTestResult ComparePooling2dTest( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + armnn::IWorkloadFactory& refWorkloadFactory, + armnn::PoolingAlgorithm poolingType) +{ + return ComparePooling2dTestCommon( + workloadFactory, memoryManager, refWorkloadFactory, poolingType); +} + +LayerTestResult ComparePooling2dUint8Test( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + armnn::IWorkloadFactory& refWorkloadFactory, + armnn::PoolingAlgorithm poolingType) +{ + return ComparePooling2dTestCommon( + workloadFactory, memoryManager, refWorkloadFactory, poolingType, 0.1f, 128); +} + +LayerTestResult ComparePooling2dInt16Test( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + armnn::IWorkloadFactory& refWorkloadFactory, + armnn::PoolingAlgorithm poolingType) +{ + return ComparePooling2dTestCommon( + workloadFactory, memoryManager, refWorkloadFactory, poolingType); +} + +LayerTestResult FullyConnectedLargeTest( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + bool transposeWeights) +{ + return FullyConnectedLargeTestCommon(workloadFactory, memoryManager, transposeWeights); +} + LayerTestResult SimplePermuteFloat32Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) diff --git a/src/backends/backendsCommon/test/LayerTests.hpp b/src/backends/backendsCommon/test/LayerTests.hpp index c62e412caa..b035d13488 100644 --- a/src/backends/backendsCommon/test/LayerTests.hpp +++ b/src/backends/backendsCommon/test/LayerTests.hpp @@ -154,6 +154,11 @@ LayerTestResult SimpleMaxPooling2dSize2x2Stride2x2Uint8Test( const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, bool forceNoPadding); +LayerTestResult SimpleMaxPooling2dSize2x2Stride2x2Int16Test( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + bool forceNoPadding); + LayerTestResult SimpleMaxPooling2dSize3x3Stride2x4Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, @@ -164,6 +169,26 @@ LayerTestResult SimpleMaxPooling2dSize3x3Stride2x4Uint8Test( const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, bool forceNoPadding ); +LayerTestResult SimpleMaxPooling2dSize3x3Stride2x4Int16Test( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + bool forceNoPadding ); + +LayerTestResult SimpleMaxPooling2dTest( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::DataLayout dataLayout); + +LayerTestResult SimpleMaxPooling2dUint8Test( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::DataLayout dataLayout); + +LayerTestResult SimpleMaxPooling2dInt16Test( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::DataLayout dataLayout); + LayerTestResult IgnorePaddingSimpleMaxPooling2dTest( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); @@ -172,6 +197,10 @@ LayerTestResult IgnorePaddingSimpleMaxPooling2dUint8Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); +LayerTestResult IgnorePaddingSimpleMaxPooling2dInt16Test( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + LayerTestResult IgnorePaddingMaxPooling2dSize3Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); @@ -180,26 +209,37 @@ LayerTestResult IgnorePaddingMaxPooling2dSize3Uint8Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); -LayerTestResult SimpleMaxPooling2dTest( +LayerTestResult IgnorePaddingMaxPooling2dSize3Int16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, - const armnn::DataLayout dataLayout); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); -LayerTestResult SimpleMaxPooling2dUint8Test( +LayerTestResult SimpleAveragePooling2dTest( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, const armnn::DataLayout dataLayout); -LayerTestResult SimpleAveragePooling2dTest( +LayerTestResult SimpleAveragePooling2dUint8Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, const armnn::DataLayout dataLayout); -LayerTestResult SimpleAveragePooling2dUint8Test( +LayerTestResult SimpleAveragePooling2dInt16Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, const armnn::DataLayout dataLayout); +LayerTestResult LargeTensorsAveragePooling2dTest( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + +LayerTestResult LargeTensorsAveragePooling2dUint8Test( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + +LayerTestResult LargeTensorsAveragePooling2dInt16Test( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + LayerTestResult IgnorePaddingAveragePooling2dSize3x2Stride2x2Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, @@ -213,6 +253,10 @@ LayerTestResult IgnorePaddingSimpleAveragePooling2dUint8Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); +LayerTestResult IgnorePaddingSimpleAveragePooling2dInt16Test( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + LayerTestResult IgnorePaddingSimpleAveragePooling2dNoPaddingTest( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); @@ -221,6 +265,10 @@ LayerTestResult IgnorePaddingSimpleAveragePooling2dNoPaddingUint8Tes armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); +LayerTestResult IgnorePaddingSimpleAveragePooling2dNoPaddingInt16Test( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + LayerTestResult IgnorePaddingAveragePooling2dSize3Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); @@ -229,6 +277,10 @@ LayerTestResult IgnorePaddingAveragePooling2dSize3Uint8Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); +LayerTestResult IgnorePaddingAveragePooling2dSize3Int16Test( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + LayerTestResult SimpleL2Pooling2dTest( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, @@ -239,6 +291,11 @@ LayerTestResult SimpleL2Pooling2dUint8Test( const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, const armnn::DataLayout dataLayout); +LayerTestResult SimpleL2Pooling2dInt16Test( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::DataLayout dataLayout); + LayerTestResult L2Pooling2dSize3Stride1Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); @@ -247,6 +304,10 @@ LayerTestResult L2Pooling2dSize3Stride1Uint8Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); +LayerTestResult L2Pooling2dSize3Stride1Int16Test( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + LayerTestResult L2Pooling2dSize3Stride3Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); @@ -255,6 +316,10 @@ LayerTestResult L2Pooling2dSize3Stride3Uint8Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); +LayerTestResult L2Pooling2dSize3Stride3Int16Test( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + LayerTestResult L2Pooling2dSize3Stride4Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); @@ -263,6 +328,10 @@ LayerTestResult L2Pooling2dSize3Stride4Uint8Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); +LayerTestResult L2Pooling2dSize3Stride4Int16Test( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + LayerTestResult L2Pooling2dSize7Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); @@ -271,19 +340,19 @@ LayerTestResult L2Pooling2dSize7Uint8Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); -LayerTestResult L2Pooling2dSize9Test( +LayerTestResult L2Pooling2dSize7Int16Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); -LayerTestResult L2Pooling2dSize9Uint8Test( +LayerTestResult L2Pooling2dSize9Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); -LayerTestResult LargeTensorsAveragePooling2dTest( +LayerTestResult L2Pooling2dSize9Uint8Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); -LayerTestResult LargeTensorsAveragePooling2dUint8Test( +LayerTestResult L2Pooling2dSize9Int16Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); @@ -295,6 +364,10 @@ LayerTestResult IgnorePaddingSimpleL2Pooling2dUint8Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); +LayerTestResult IgnorePaddingSimpleL2Pooling2dInt16Test( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + LayerTestResult IgnorePaddingL2Pooling2dSize3Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); @@ -303,6 +376,10 @@ LayerTestResult IgnorePaddingL2Pooling2dSize3Uint8Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); +LayerTestResult IgnorePaddingL2Pooling2dSize3Int16Test( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + LayerTestResult AsymmetricNonSquarePooling2dTest( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); @@ -311,6 +388,10 @@ LayerTestResult AsymmetricNonSquarePooling2dUint8Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); +LayerTestResult AsymmetricNonSquarePooling2dInt16Test( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + LayerTestResult ComparePooling2dTest( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, @@ -323,6 +404,12 @@ LayerTestResult ComparePooling2dUint8Test( armnn::IWorkloadFactory& refWorkloadFactory, armnn::PoolingAlgorithm poolingType); +LayerTestResult ComparePooling2dInt16Test( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + armnn::IWorkloadFactory& refWorkloadFactory, + armnn::PoolingAlgorithm poolingType); + LayerTestResult ConstantLinearActivationTest( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); -- cgit v1.2.1