From 303980c502c721f13d65e7087be6c0758df65044 Mon Sep 17 00:00:00 2001 From: Sadik Armagan Date: Fri, 17 Apr 2020 12:45:14 +0100 Subject: IVGCVSW-4668 Add TENSOR_QUANT8_ASYMM_SIGNED data type support to CpuRef operators Signed-off-by: Teresa Charlin Signed-off-by: Sadik Armagan Change-Id: I094125ba80699cc3cf5226bda6662a54e6caa988 --- .../backendsCommon/test/layerTests/AbsTestImpl.cpp | 10 ++++ .../test/layerTests/ArgMinMaxTestImpl.cpp | 30 ++++++++++ .../test/layerTests/Conv2dTestImpl.cpp | 37 ++++++++++++ .../test/layerTests/DepthToSpaceTestImpl.cpp | 25 +++++++++ .../backendsCommon/test/layerTests/NegTestImpl.cpp | 10 ++++ .../test/layerTests/ReshapeTestImpl.cpp | 10 ++++ .../test/layerTests/ResizeTestImpl.cpp | 65 ++++++++++++++++++++++ .../test/layerTests/RsqrtTestImpl.cpp | 10 ++++ .../layerTests/TransposeConvolution2dTestImpl.cpp | 27 +++++++++ 9 files changed, 224 insertions(+) (limited to 'src/backends/backendsCommon/test') diff --git a/src/backends/backendsCommon/test/layerTests/AbsTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/AbsTestImpl.cpp index e6c6a96a9f..2cbc059044 100644 --- a/src/backends/backendsCommon/test/layerTests/AbsTestImpl.cpp +++ b/src/backends/backendsCommon/test/layerTests/AbsTestImpl.cpp @@ -114,6 +114,11 @@ Abs2dTest( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); +template LayerTestResult, 2> +Abs2dTest( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + template LayerTestResult, 2> Abs2dTest( armnn::IWorkloadFactory& workloadFactory, @@ -134,6 +139,11 @@ Abs3dTest( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); +template LayerTestResult, 3> +Abs3dTest( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + template LayerTestResult, 3> Abs3dTest( armnn::IWorkloadFactory& workloadFactory, diff --git a/src/backends/backendsCommon/test/layerTests/ArgMinMaxTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/ArgMinMaxTestImpl.cpp index 20dcef5dd4..45ac05387a 100644 --- a/src/backends/backendsCommon/test/layerTests/ArgMinMaxTestImpl.cpp +++ b/src/backends/backendsCommon/test/layerTests/ArgMinMaxTestImpl.cpp @@ -262,6 +262,11 @@ ArgMaxSimpleTest( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); +template LayerTestResult +ArgMaxSimpleTest( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + template LayerTestResult ArgMaxSimpleTest( armnn::IWorkloadFactory& workloadFactory, @@ -282,6 +287,11 @@ ArgMinSimpleTest( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); +template LayerTestResult +ArgMinSimpleTest( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + template LayerTestResult ArgMinSimpleTest( armnn::IWorkloadFactory& workloadFactory, @@ -302,6 +312,11 @@ ArgMinChannelTest( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); +template LayerTestResult +ArgMinChannelTest( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + template LayerTestResult ArgMinChannelTest( armnn::IWorkloadFactory& workloadFactory, @@ -322,6 +337,11 @@ ArgMaxChannelTest( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); +template LayerTestResult +ArgMaxChannelTest( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + template LayerTestResult ArgMaxChannelTest( armnn::IWorkloadFactory& workloadFactory, @@ -347,6 +367,11 @@ ArgMaxHeightTest( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); +template LayerTestResult +ArgMaxHeightTest( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + template LayerTestResult ArgMaxHeightTest( armnn::IWorkloadFactory& workloadFactory, @@ -362,6 +387,11 @@ ArgMinWidthTest( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); +template LayerTestResult +ArgMinWidthTest( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + template LayerTestResult ArgMinWidthTest( armnn::IWorkloadFactory& workloadFactory, diff --git a/src/backends/backendsCommon/test/layerTests/Conv2dTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/Conv2dTestImpl.cpp index c66027efdf..154ece2657 100644 --- a/src/backends/backendsCommon/test/layerTests/Conv2dTestImpl.cpp +++ b/src/backends/backendsCommon/test/layerTests/Conv2dTestImpl.cpp @@ -1019,6 +1019,7 @@ LayerTestResult Convolution2d3x3DilationTestCommon( switch (ArmnnType) { case armnn::DataType::QAsymmU8: + case armnn::DataType::QAsymmS8: { qScale = 0.1f; qOffset = 128; @@ -2520,6 +2521,7 @@ LayerTestResult DepthwiseConvolution2d3x3DilationTestCommon( int32_t qOffset; switch (ArmnnType) { + case armnn::DataType::QAsymmS8: case armnn::DataType::QAsymmU8: { qScale = 0.1f; @@ -3022,6 +3024,13 @@ Convolution2d3x3Dilation3x3Test, 4> +Convolution2d3x3Dilation3x3Test( + armnn::IWorkloadFactory&, + const armnn::IBackendInternal::IMemoryManagerSharedPtr&, + bool, + armnn::DataLayout); + template LayerTestResult, 4> Convolution2d3x3Dilation3x3Test( armnn::IWorkloadFactory&, @@ -3050,6 +3059,13 @@ Convolution2d2x3x3Dilation3x3Test, 4> +Convolution2d2x3x3Dilation3x3Test( + armnn::IWorkloadFactory&, + const armnn::IBackendInternal::IMemoryManagerSharedPtr&, + bool, + armnn::DataLayout); + template LayerTestResult, 4> Convolution2d2x3x3Dilation3x3Test( armnn::IWorkloadFactory&, @@ -3078,6 +3094,13 @@ Convolution2d2x2Dilation2x2Padding2x2Stride3x3Test, 4> +Convolution2d2x2Dilation2x2Padding2x2Stride3x3Test( + armnn::IWorkloadFactory &workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, + bool biasEnabled, + const armnn::DataLayout layout); + template LayerTestResult, 4> Convolution2d2x2Dilation2x2Padding2x2Stride3x3Test( armnn::IWorkloadFactory &workloadFactory, @@ -3106,6 +3129,13 @@ DepthwiseConvolution2d3x3Dilation3x3Test, 4> +DepthwiseConvolution2d3x3Dilation3x3Test( + armnn::IWorkloadFactory&, + const armnn::IBackendInternal::IMemoryManagerSharedPtr&, + bool, + armnn::DataLayout); + template LayerTestResult, 4> DepthwiseConvolution2d3x3Dilation3x3Test( armnn::IWorkloadFactory&, @@ -3134,6 +3164,13 @@ DepthwiseConvolution2d2x3x3Dilation3x3Test, 4> +DepthwiseConvolution2d2x3x3Dilation3x3Test( + armnn::IWorkloadFactory&, + const armnn::IBackendInternal::IMemoryManagerSharedPtr&, + bool, + armnn::DataLayout); + template LayerTestResult, 4> DepthwiseConvolution2d2x3x3Dilation3x3Test( armnn::IWorkloadFactory&, diff --git a/src/backends/backendsCommon/test/layerTests/DepthToSpaceTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/DepthToSpaceTestImpl.cpp index 4d4a6bc156..69994ddb03 100644 --- a/src/backends/backendsCommon/test/layerTests/DepthToSpaceTestImpl.cpp +++ b/src/backends/backendsCommon/test/layerTests/DepthToSpaceTestImpl.cpp @@ -307,6 +307,31 @@ DepthToSpaceTest4( const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, armnn::DataLayout dataLayout); +// QuantisedAsymmS8 +template LayerTestResult, 4> +DepthToSpaceTest1( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + armnn::DataLayout dataLayout); + +template LayerTestResult, 4> +DepthToSpaceTest2( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + armnn::DataLayout dataLayout); + +template LayerTestResult, 4> +DepthToSpaceTest3( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + armnn::DataLayout dataLayout); + +template LayerTestResult, 4> +DepthToSpaceTest4( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + armnn::DataLayout dataLayout); + // QuantisedSymm16 template LayerTestResult, 4> DepthToSpaceTest1( diff --git a/src/backends/backendsCommon/test/layerTests/NegTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/NegTestImpl.cpp index aace926dcb..f2ed22238e 100644 --- a/src/backends/backendsCommon/test/layerTests/NegTestImpl.cpp +++ b/src/backends/backendsCommon/test/layerTests/NegTestImpl.cpp @@ -133,6 +133,11 @@ Neg2dTest( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); +template LayerTestResult, 2> +Neg2dTest( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + template LayerTestResult, 2> Neg2dTest( armnn::IWorkloadFactory& workloadFactory, @@ -153,6 +158,11 @@ Neg3dTest( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); +template LayerTestResult, 3> +Neg3dTest( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + template LayerTestResult, 3> Neg3dTest( armnn::IWorkloadFactory& workloadFactory, diff --git a/src/backends/backendsCommon/test/layerTests/ReshapeTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/ReshapeTestImpl.cpp index 5ed947d8c3..979d0a7f73 100644 --- a/src/backends/backendsCommon/test/layerTests/ReshapeTestImpl.cpp +++ b/src/backends/backendsCommon/test/layerTests/ReshapeTestImpl.cpp @@ -176,6 +176,11 @@ SimpleReshapeTest( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); +template LayerTestResult, 4> +SimpleReshapeTest( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + template LayerTestResult, 4> SimpleReshapeTest( armnn::IWorkloadFactory& workloadFactory, @@ -191,6 +196,11 @@ Reshape5dTest( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); +template LayerTestResult, 5> +Reshape5dTest( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + template LayerTestResult, 5> Reshape5dTest( armnn::IWorkloadFactory& workloadFactory, diff --git a/src/backends/backendsCommon/test/layerTests/ResizeTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/ResizeTestImpl.cpp index e95f18b7a5..f12f53c794 100644 --- a/src/backends/backendsCommon/test/layerTests/ResizeTestImpl.cpp +++ b/src/backends/backendsCommon/test/layerTests/ResizeTestImpl.cpp @@ -727,6 +727,71 @@ ResizeNearestNeighborMagTest( float outQuantScale, int32_t outQuantOffset); +// QAsymmS8 +template LayerTestResult, 4> +ResizeBilinearNopTest( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::DataLayout dataLayout); + +template LayerTestResult, 4> +SimpleResizeBilinearTest( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::DataLayout dataLayout); + +template LayerTestResult, 4> +ResizeBilinearSqMinTest( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::DataLayout dataLayout); + +template LayerTestResult, 4> +ResizeBilinearMinTest( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::DataLayout dataLayout); + +template LayerTestResult, 4> +ResizeBilinearMagTest( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::DataLayout dataLayout); + +template LayerTestResult, 4> +ResizeNearestNeighborNopTest( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::DataLayout dataLayout); + +template LayerTestResult, 4> +SimpleResizeNearestNeighborTest( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::DataLayout dataLayout); + +template LayerTestResult, 4> +ResizeNearestNeighborSqMinTest( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::DataLayout dataLayout); + +template LayerTestResult, 4> +ResizeNearestNeighborMinTest( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::DataLayout dataLayout); + +template LayerTestResult, 4> +ResizeNearestNeighborMagTest( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::DataLayout dataLayout, + float inQuantScale, + int32_t inQuantOffset, + float outQuantScale, + int32_t outQuantOffset); + // QSymm16 template LayerTestResult, 4> ResizeBilinearNopTest( diff --git a/src/backends/backendsCommon/test/layerTests/RsqrtTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/RsqrtTestImpl.cpp index ca423835dc..367c82fb7c 100644 --- a/src/backends/backendsCommon/test/layerTests/RsqrtTestImpl.cpp +++ b/src/backends/backendsCommon/test/layerTests/RsqrtTestImpl.cpp @@ -133,6 +133,11 @@ Rsqrt2dTest( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); +template LayerTestResult, 2> +Rsqrt2dTest( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + template LayerTestResult, 2> Rsqrt2dTest( armnn::IWorkloadFactory& workloadFactory, @@ -153,6 +158,11 @@ Rsqrt3dTest( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); +template LayerTestResult, 3> +Rsqrt3dTest( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + template LayerTestResult, 3> Rsqrt3dTest( armnn::IWorkloadFactory& workloadFactory, diff --git a/src/backends/backendsCommon/test/layerTests/TransposeConvolution2dTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/TransposeConvolution2dTestImpl.cpp index 07f52584ca..813c623cff 100644 --- a/src/backends/backendsCommon/test/layerTests/TransposeConvolution2dTestImpl.cpp +++ b/src/backends/backendsCommon/test/layerTests/TransposeConvolution2dTestImpl.cpp @@ -671,6 +671,13 @@ SimpleTransposeConvolution2dTest, 4> +SimpleTransposeConvolution2dTest( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + bool biasEnabled, + const armnn::DataLayout layout); + template LayerTestResult, 4> SimpleTransposeConvolution2dTest( armnn::IWorkloadFactory& workloadFactory, @@ -692,6 +699,13 @@ PaddedTransposeConvolution2dTest, 4> +PaddedTransposeConvolution2dTest( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + bool biasEnabled, + const armnn::DataLayout layout); + template LayerTestResult, 4> PaddedTransposeConvolution2dTest( armnn::IWorkloadFactory& workloadFactory, @@ -713,6 +727,13 @@ StridedTransposeConvolution2dTest, 4> +StridedTransposeConvolution2dTest( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + bool biasEnabled, + const armnn::DataLayout layout); + template LayerTestResult, 4> StridedTransposeConvolution2dTest( armnn::IWorkloadFactory& workloadFactory, @@ -733,6 +754,12 @@ MultiChannelTransposeConvolution2dTest, 4> +MultiChannelTransposeConvolution2dTest( + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::DataLayout layout); + template LayerTestResult, 4> MultiChannelTransposeConvolution2dTest( armnn::IWorkloadFactory& workloadFactory, -- cgit v1.2.1