diff options
author | Nina Drozd <nina.drozd@arm.com> | 2019-05-29 10:41:04 +0100 |
---|---|---|
committer | Nina Drozd <nina.drozd@arm.com> | 2019-05-29 14:41:07 +0100 |
commit | 8ed4b8c34df929d29952f6b3f835bf61d57466e7 (patch) | |
tree | a299751d347bd0d9523179ebfce926983e1b9135 /src/backends/reference | |
parent | a70fe6049672710ffc06b708198ef44f3873eb89 (diff) | |
download | armnn-8ed4b8c34df929d29952f6b3f835bf61d57466e7.tar.gz |
IVGCVSW-3172 Add QSymm16 support for reshape workload
* Added QSymm16 to supported types in WorkloadData
* Added QSymm16 to supported types in RefLayerSupport
* Created templated SimpleReshapeTest in LayerTests
* Updated ClLayerTests to use templated SimpleReshapeTest
* Updated NeonLayerTests to use templated SimpleReshapeTest
* Added test for QSymm16 to RefCreateWorkloadTests, RefLayerTests
* Removed ReshapeTestImpl as all reshape test methods were moved
* Added FloorTestImpl for existing SimpleFloorTest
Change-Id: I78efede8aab74c2d4cb0841dd426b8e06186133d
Signed-off-by: Nina Drozd <nina.drozd@arm.com>
Diffstat (limited to 'src/backends/reference')
-rw-r--r-- | src/backends/reference/RefLayerSupport.cpp | 5 | ||||
-rw-r--r-- | src/backends/reference/test/RefCreateWorkloadTests.cpp | 9 | ||||
-rw-r--r-- | src/backends/reference/test/RefLayerTests.cpp | 5 |
3 files changed, 13 insertions, 6 deletions
diff --git a/src/backends/reference/RefLayerSupport.cpp b/src/backends/reference/RefLayerSupport.cpp index 9a691a6fa7..a9cddfd1bb 100644 --- a/src/backends/reference/RefLayerSupport.cpp +++ b/src/backends/reference/RefLayerSupport.cpp @@ -1021,11 +1021,12 @@ bool RefLayerSupport::IsReshapeSupported(const TensorInfo& input, { ignore_unused(descriptor); // Define supported output types. - std::array<DataType,3> supportedOutputTypes = + std::array<DataType,4> supportedOutputTypes = { DataType::Float32, DataType::Float16, - DataType::QuantisedAsymm8 + DataType::QuantisedAsymm8, + DataType::QuantisedSymm16 }; return CheckSupportRule(TypeAnyOf(input, supportedOutputTypes), reasonIfUnsupported, "Reference reshape: input type not supported."); diff --git a/src/backends/reference/test/RefCreateWorkloadTests.cpp b/src/backends/reference/test/RefCreateWorkloadTests.cpp index 2222a22cb3..fef2567d07 100644 --- a/src/backends/reference/test/RefCreateWorkloadTests.cpp +++ b/src/backends/reference/test/RefCreateWorkloadTests.cpp @@ -661,16 +661,21 @@ static void RefCreateReshapeWorkloadTest() TensorInfo({ 1, 4 }, DataType)); } -BOOST_AUTO_TEST_CASE(CreateReshapeFloat32Workload) +BOOST_AUTO_TEST_CASE(CreateReshapeWorkloadFloat32) { RefCreateReshapeWorkloadTest<RefReshapeWorkload, armnn::DataType::Float32>(); } -BOOST_AUTO_TEST_CASE(CreateReshapeUint8Workload) +BOOST_AUTO_TEST_CASE(CreateReshapeWorkloadQuantisedAsymm8) { RefCreateReshapeWorkloadTest<RefReshapeWorkload, armnn::DataType::QuantisedAsymm8>(); } +BOOST_AUTO_TEST_CASE(CreateReshapeWorkloadQuantisedSymm16) +{ + RefCreateReshapeWorkloadTest<RefReshapeWorkload, armnn::DataType::QuantisedSymm16>(); +} + template <typename ConcatWorkloadType, armnn::DataType DataType> static void RefCreateConcatWorkloadTest(const armnn::TensorShape& outputShape, unsigned int concatAxis) diff --git a/src/backends/reference/test/RefLayerTests.cpp b/src/backends/reference/test/RefLayerTests.cpp index 1207c1d648..a78b5aae5d 100644 --- a/src/backends/reference/test/RefLayerTests.cpp +++ b/src/backends/reference/test/RefLayerTests.cpp @@ -449,8 +449,9 @@ ARMNN_AUTO_TEST_CASE(Concatenation4dDiffShapeDim3Uint8, Concatenation4dDiffShape ARMNN_AUTO_TEST_CASE(SimpleFloor, SimpleFloorTest) // Reshape -ARMNN_AUTO_TEST_CASE(SimpleReshapeFloat32, SimpleReshapeFloat32Test) -ARMNN_AUTO_TEST_CASE(SimpleReshapeUint8, SimpleReshapeUint8Test) +ARMNN_AUTO_TEST_CASE(SimpleReshapeFloat32, SimpleReshapeTest<armnn::DataType::Float32>) +ARMNN_AUTO_TEST_CASE(SimpleReshapeQuantisedAsymm8, SimpleReshapeTest<armnn::DataType::QuantisedAsymm8>) +ARMNN_AUTO_TEST_CASE(SimpleReshapeQuantisedSymm16, SimpleReshapeTest<armnn::DataType::QuantisedSymm16>) // Rsqrt ARMNN_AUTO_TEST_CASE(Rsqrt2d, Rsqrt2dTest) |