aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrancis Murtagh <francis.murtagh@arm.com>2020-07-30 18:03:40 +0100
committerFrancis Murtagh <francis.murtagh@arm.com>2020-07-30 18:03:40 +0100
commite8ac13308b84b2ee9bc930ac8d27e657300e462d (patch)
tree116d6489e5231bd2e093898d335be380be4590e2
parent9a2d1d004473bbba25e1c9ecb0b8d6fa7fced6f1 (diff)
downloadarmnn-e8ac13308b84b2ee9bc930ac8d27e657300e462d.tar.gz
IVGCVSW-5174 Fix i386 Floor and AbsTest
* Remove QSymm16 support for Floor to match NNApi and disable RefLayerTest * Return nullptr for floor workload if quantized type * Fix SimpleAbsTest incorrect output Signed-off-by: Francis Murtagh <francis.murtagh@arm.com> Change-Id: I80d9e2fb78777d0a3fc7ce6d12b5eb4af3fd1d3a
-rw-r--r--src/armnnDeserializer/test/DeserializeAbs.cpp2
-rw-r--r--src/backends/reference/RefLayerSupport.cpp5
-rw-r--r--src/backends/reference/RefWorkloadFactory.cpp9
-rw-r--r--src/backends/reference/test/RefLayerTests.cpp1
4 files changed, 11 insertions, 6 deletions
diff --git a/src/armnnDeserializer/test/DeserializeAbs.cpp b/src/armnnDeserializer/test/DeserializeAbs.cpp
index 4d6504bc10..bdaa869e87 100644
--- a/src/armnnDeserializer/test/DeserializeAbs.cpp
+++ b/src/armnnDeserializer/test/DeserializeAbs.cpp
@@ -114,7 +114,7 @@ BOOST_AUTO_TEST_SUITE(Deserializer)
RunTest<4, armnn::DataType::Float32>(
0,
{{"InputLayer", { -100.0f, -50.5f, -25.9999f, -0.5f , 0.0f, 1.5555f, 25.5f, 100.0f }}},
- {{"OutputLayer", { 100.0f, 50.0f, 25.9999f, 0.5f , 0.0f, 1.5555f, 25.5f, 100.0f }}});
+ {{"OutputLayer", { 100.0f, 50.5f, 25.9999f, 0.5f , 0.0f, 1.5555f, 25.5f, 100.0f }}});
}
BOOST_AUTO_TEST_SUITE_END() \ No newline at end of file
diff --git a/src/backends/reference/RefLayerSupport.cpp b/src/backends/reference/RefLayerSupport.cpp
index 1886d3253b..80527bdcb2 100644
--- a/src/backends/reference/RefLayerSupport.cpp
+++ b/src/backends/reference/RefLayerSupport.cpp
@@ -889,12 +889,11 @@ bool RefLayerSupport::IsFloorSupported(const TensorInfo& input,
IgnoreUnused(output);
bool supported = true;
- std::array<DataType,4> supportedTypes =
+ std::array<DataType,3> supportedTypes =
{
DataType::BFloat16,
DataType::Float32,
- DataType::Float16,
- DataType::QSymmS16
+ DataType::Float16
};
supported &= CheckSupportRule(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,
diff --git a/src/backends/reference/RefWorkloadFactory.cpp b/src/backends/reference/RefWorkloadFactory.cpp
index cac1d1bd8a..4ab1701391 100644
--- a/src/backends/reference/RefWorkloadFactory.cpp
+++ b/src/backends/reference/RefWorkloadFactory.cpp
@@ -327,7 +327,14 @@ std::unique_ptr<IWorkload> RefWorkloadFactory::CreateFill(const FillQueueDescrip
std::unique_ptr<IWorkload> RefWorkloadFactory::CreateFloor(const FloorQueueDescriptor& descriptor,
const WorkloadInfo& info) const
{
- return std::make_unique<RefFloorWorkload>(descriptor, info);
+ if(IsQuantizedType(info.m_InputTensorInfos[0].GetDataType()))
+ {
+ return nullptr;
+ }
+ else
+ {
+ return std::make_unique<RefFloorWorkload>(descriptor, info);
+ }
}
std::unique_ptr<IWorkload> RefWorkloadFactory::CreateFullyConnected(
diff --git a/src/backends/reference/test/RefLayerTests.cpp b/src/backends/reference/test/RefLayerTests.cpp
index df1997ddeb..f79e7e588f 100644
--- a/src/backends/reference/test/RefLayerTests.cpp
+++ b/src/backends/reference/test/RefLayerTests.cpp
@@ -1366,7 +1366,6 @@ ARMNN_AUTO_TEST_CASE(SimpleFillS32, SimpleFillTest<DataType::Signed32>)
// Floor
ARMNN_AUTO_TEST_CASE(SimpleFloor, SimpleFloorTest<DataType::Float32>)
ARMNN_AUTO_TEST_CASE(SimpleFloorFloat16, SimpleFloorTest<DataType::Float16>)
-ARMNN_AUTO_TEST_CASE(SimpleFloorQuantisedSymm16, SimpleFloorTest<DataType::QSymmS16>)
// Reshape
ARMNN_AUTO_TEST_CASE(SimpleReshapeFloat32, SimpleReshapeTest<DataType::Float32>)