diff options
author | James Conroy <james.conroy@arm.com> | 2019-06-04 12:32:09 +0100 |
---|---|---|
committer | James Conroy <james.conroy@arm.com> | 2019-06-04 12:37:56 +0100 |
commit | b40d710508aede83fd1cbc17b4890c111fe0b297 (patch) | |
tree | 629272b717ea0dbcabf7874d476c9b894ae1c51f /src | |
parent | a7b7928b87825502a428acd5a71713d88622982b (diff) | |
download | armnn-b40d710508aede83fd1cbc17b4890c111fe0b297.tar.gz |
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 <james.conroy@arm.com>
Change-Id: I6d36a07b3cfff212056125232f7842ca04bf4947
Diffstat (limited to 'src')
-rw-r--r-- | src/backends/backendsCommon/WorkloadData.cpp | 3 | ||||
-rw-r--r-- | src/backends/backendsCommon/test/LayerTests.hpp | 7 | ||||
-rw-r--r-- | src/backends/reference/RefLayerSupport.cpp | 5 | ||||
-rw-r--r-- | src/backends/reference/test/RefLayerTests.cpp | 1 |
4 files changed, 11 insertions, 5 deletions
diff --git a/src/backends/backendsCommon/WorkloadData.cpp b/src/backends/backendsCommon/WorkloadData.cpp index 9cc8ba07a8..6d17f3e042 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<DataType> 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 d75a10aedd..df79e46dee 100644 --- a/src/backends/backendsCommon/test/LayerTests.hpp +++ b/src/backends/backendsCommon/test/LayerTests.hpp @@ -1963,8 +1963,11 @@ LayerTestResult<T, 4> 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<T, 4>(inputTensorInfo, ConvertToDataType<ArmnnType>( { -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 5ec888bde3..1d0b230c77 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<DataType,1> supportedTypes = + std::array<DataType,2> 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 6743ef9c3d..162027032e 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::DataType::Float32>) +ARMNN_AUTO_TEST_CASE(SimpleFloorQuantisedSymm16, SimpleFloorTest<armnn::DataType::QuantisedSymm16>) // Reshape ARMNN_AUTO_TEST_CASE(SimpleReshapeFloat32, SimpleReshapeTest<armnn::DataType::Float32>) |