aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatteo Martincigh <matteo.martincigh@arm.com>2019-06-05 17:23:29 +0100
committerMatteo Martincigh <matteo.martincigh@arm.com>2019-06-06 14:00:11 +0000
commit6aeb771e854ed45f0392d6c17000a6a039b6256a (patch)
tree38a581f9f1108c2fb177b01914cbc54669e400f4
parent2fc70c5f7bebd95da7c718907011c92fd29e3603 (diff)
downloadarmnn-6aeb771e854ed45f0392d6c17000a6a039b6256a.tar.gz
IVGCVSW-3227 Extend the reference normalization workload to support QSymm16
* Added support for QSymm16 * Added unit tests Change-Id: I7ba57793830bed7958ac9a94e9ac39d6dbe708b5 Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
-rw-r--r--src/backends/backendsCommon/WorkloadData.cpp3
-rw-r--r--src/backends/reference/RefLayerSupport.cpp5
-rw-r--r--src/backends/reference/test/RefCreateWorkloadTests.cpp10
3 files changed, 15 insertions, 3 deletions
diff --git a/src/backends/backendsCommon/WorkloadData.cpp b/src/backends/backendsCommon/WorkloadData.cpp
index 9482136b59..e14283d823 100644
--- a/src/backends/backendsCommon/WorkloadData.cpp
+++ b/src/backends/backendsCommon/WorkloadData.cpp
@@ -614,7 +614,8 @@ void NormalizationQueueDescriptor::Validate(const WorkloadInfo& workloadInfo) co
{
DataType::Float16,
DataType::Float32,
- DataType::QuantisedAsymm8
+ DataType::QuantisedAsymm8,
+ DataType::QuantisedSymm16
};
ValidateDataTypes(workloadInfo.m_InputTensorInfos[0],
diff --git a/src/backends/reference/RefLayerSupport.cpp b/src/backends/reference/RefLayerSupport.cpp
index 60536081be..39f521c120 100644
--- a/src/backends/reference/RefLayerSupport.cpp
+++ b/src/backends/reference/RefLayerSupport.cpp
@@ -962,11 +962,12 @@ bool RefLayerSupport::IsNormalizationSupported(const TensorInfo& input,
ignore_unused(descriptor);
// Define supported types
- std::array<DataType, 3> supportedTypes =
+ std::array<DataType, 4> supportedTypes =
{
DataType::Float16,
DataType::Float32,
- DataType::QuantisedAsymm8
+ DataType::QuantisedAsymm8,
+ DataType::QuantisedSymm16
};
bool supported = true;
diff --git a/src/backends/reference/test/RefCreateWorkloadTests.cpp b/src/backends/reference/test/RefCreateWorkloadTests.cpp
index 3da9de9263..d550f00f15 100644
--- a/src/backends/reference/test/RefCreateWorkloadTests.cpp
+++ b/src/backends/reference/test/RefCreateWorkloadTests.cpp
@@ -392,6 +392,16 @@ BOOST_AUTO_TEST_CASE(CreateRefNormalizationUint8NhwcWorkload)
RefCreateNormalizationWorkloadTest<RefNormalizationWorkload, armnn::DataType::QuantisedAsymm8>(DataLayout::NHWC);
}
+BOOST_AUTO_TEST_CASE(CreateRefNormalizationInt16NchwWorkload)
+{
+ RefCreateNormalizationWorkloadTest<RefNormalizationWorkload, armnn::DataType::QuantisedSymm16>(DataLayout::NCHW);
+}
+
+BOOST_AUTO_TEST_CASE(CreateRefNormalizationInt16NhwcWorkload)
+{
+ RefCreateNormalizationWorkloadTest<RefNormalizationWorkload, armnn::DataType::QuantisedSymm16>(DataLayout::NHWC);
+}
+
template <typename Pooling2dWorkloadType, armnn::DataType DataType>
static void RefCreatePooling2dWorkloadTest(DataLayout dataLayout)
{