IVGCVSW-3222 Extend Mean ref workload to support QSymm16
authorJames Conroy <james.conroy@arm.com>
Tue, 11 Jun 2019 10:25:30 +0000 (11:25 +0100)
committerMatteo Martincigh <matteo.martincigh@arm.com>
Mon, 17 Jun 2019 11:17:15 +0000 (11:17 +0000)
 * Added support for QSymm16 in Mean ref workload
 * Added unit tests for QSymm16 Mean

Signed-off-by: James Conroy <james.conroy@arm.com>
Change-Id: I600b15069ff4a4531666c6bc7fb73187dcebf0ee

src/backends/reference/RefLayerSupport.cpp
src/backends/reference/test/RefLayerTests.cpp

index 402bd66..a25338f 100644 (file)
@@ -902,10 +902,11 @@ bool RefLayerSupport::IsMeanSupported(const TensorInfo& input,
     std::string meanLayerStr = "Mean";
     std::string outputTensorStr = "output";
 
-    std::array<DataType,2> supportedTypes =
+    std::array<DataType,3> supportedTypes =
     {
         DataType::Float32,
-        DataType::QuantisedAsymm8
+        DataType::QuantisedAsymm8,
+        DataType::QuantisedSymm16
     };
 
     supported &= CheckSupportRule(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,
index c2cda8e..155da24 100644 (file)
@@ -623,6 +623,14 @@ ARMNN_AUTO_TEST_CASE(MeanVts1QuantisedAsymm8, MeanVts1Test<armnn::DataType::Quan
 ARMNN_AUTO_TEST_CASE(MeanVts2QuantisedAsymm8, MeanVts2Test<armnn::DataType::QuantisedAsymm8>)
 ARMNN_AUTO_TEST_CASE(MeanVts3QuantisedAsymm8, MeanVts3Test<armnn::DataType::QuantisedAsymm8>)
 
+ARMNN_AUTO_TEST_CASE(MeanSimpleQuantisedSymm16, MeanSimpleTest<armnn::DataType::QuantisedSymm16>)
+ARMNN_AUTO_TEST_CASE(MeanSimpleAxisQuantisedSymm16, MeanSimpleAxisTest<armnn::DataType::QuantisedSymm16>)
+ARMNN_AUTO_TEST_CASE(MeanKeepDimsQuantisedSymm16, MeanKeepDimsTest<armnn::DataType::QuantisedSymm16>)
+ARMNN_AUTO_TEST_CASE(MeanMultipleDimsQuantisedSymm16, MeanMultipleDimsTest<armnn::DataType::QuantisedSymm16>)
+ARMNN_AUTO_TEST_CASE(MeanVts1QuantisedSymm16, MeanVts1Test<armnn::DataType::QuantisedSymm16>)
+ARMNN_AUTO_TEST_CASE(MeanVts2QuantisedSymm16, MeanVts2Test<armnn::DataType::QuantisedSymm16>)
+ARMNN_AUTO_TEST_CASE(MeanVts3QuantisedSymm16, MeanVts3Test<armnn::DataType::QuantisedSymm16>)
+
 ARMNN_AUTO_TEST_CASE(AdditionAfterMaxPool, AdditionAfterMaxPoolTest)
 
 // Space To Batch Nd