From: James Conroy Date: Tue, 4 Jun 2019 11:32:09 +0000 (+0100) Subject: IVGCVSW-3179 Extend floor workload to support QSymm16 X-Git-Tag: submit/tizen/20200316.035456~573 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b40d710508aede83fd1cbc17b4890c111fe0b297;p=platform%2Fupstream%2Farmnn.git IVGCVSW-3179 Extend floor workload to support QSymm16 * Added support for QSymm16 in Floor workload * Added unit test for QSymm16 Floor Signed-off-by: James Conroy Change-Id: I6d36a07b3cfff212056125232f7842ca04bf4947 --- diff --git a/src/backends/backendsCommon/WorkloadData.cpp b/src/backends/backendsCommon/WorkloadData.cpp index 9cc8ba0..6d17f3e 100644 --- a/src/backends/backendsCommon/WorkloadData.cpp +++ b/src/backends/backendsCommon/WorkloadData.cpp @@ -1031,7 +1031,8 @@ void FloorQueueDescriptor::Validate(const WorkloadInfo& workloadInfo) const std::vector supportedTypes = { - DataType::Float32 + DataType::Float32, + DataType::QuantisedSymm16 }; ValidateDataTypes(workloadInfo.m_InputTensorInfos[0], supportedTypes, floorQueueDescString); diff --git a/src/backends/backendsCommon/test/LayerTests.hpp b/src/backends/backendsCommon/test/LayerTests.hpp index d75a10a..df79e46 100644 --- a/src/backends/backendsCommon/test/LayerTests.hpp +++ b/src/backends/backendsCommon/test/LayerTests.hpp @@ -1963,8 +1963,11 @@ LayerTestResult SimpleFloorTest( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) { - const armnn::TensorInfo inputTensorInfo({1, 3, 2, 3}, ArmnnType); - const armnn::TensorInfo outputTensorInfo(inputTensorInfo); + armnn::TensorInfo inputTensorInfo({1, 3, 2, 3}, ArmnnType); + inputTensorInfo.SetQuantizationScale(0.1f); + + armnn::TensorInfo outputTensorInfo(inputTensorInfo); + outputTensorInfo.SetQuantizationScale(0.1f); auto input = MakeTensor(inputTensorInfo, ConvertToDataType( { -37.5f, -15.2f, -8.76f, -2.0f, -1.5f, -1.3f, -0.5f, -0.4f, 0.0f, diff --git a/src/backends/reference/RefLayerSupport.cpp b/src/backends/reference/RefLayerSupport.cpp index 5ec888b..1d0b230 100644 --- a/src/backends/reference/RefLayerSupport.cpp +++ b/src/backends/reference/RefLayerSupport.cpp @@ -599,9 +599,10 @@ bool RefLayerSupport::IsFloorSupported(const TensorInfo& input, ignore_unused(output); bool supported = true; - std::array supportedTypes = + std::array supportedTypes = { - DataType::Float32 + DataType::Float32, + DataType::QuantisedSymm16 }; supported &= CheckSupportRule(TypeAnyOf(input, supportedTypes), reasonIfUnsupported, diff --git a/src/backends/reference/test/RefLayerTests.cpp b/src/backends/reference/test/RefLayerTests.cpp index 6743ef9..1620270 100644 --- a/src/backends/reference/test/RefLayerTests.cpp +++ b/src/backends/reference/test/RefLayerTests.cpp @@ -453,6 +453,7 @@ ARMNN_AUTO_TEST_CASE(Concatenation4dDiffShapeDim3Uint8, Concatenation4dDiffShape // Floor ARMNN_AUTO_TEST_CASE(SimpleFloor, SimpleFloorTest) +ARMNN_AUTO_TEST_CASE(SimpleFloorQuantisedSymm16, SimpleFloorTest) // Reshape ARMNN_AUTO_TEST_CASE(SimpleReshapeFloat32, SimpleReshapeTest)