diff options
-rw-r--r-- | src/armnnDeserializer/test/DeserializeFill.cpp | 4 | ||||
-rw-r--r-- | src/armnnSerializer/test/SerializerTests.cpp | 2 | ||||
-rw-r--r-- | src/backends/backendsCommon/test/FillEndToEndTestImpl.hpp | 14 | ||||
-rw-r--r-- | src/backends/backendsCommon/test/layerTests/FillTestImpl.cpp | 7 | ||||
-rw-r--r-- | src/backends/cl/ClLayerSupport.cpp | 14 | ||||
-rw-r--r-- | src/backends/cl/test/ClEndToEndTests.cpp | 5 | ||||
-rw-r--r-- | src/backends/neon/NeonLayerSupport.cpp | 14 | ||||
-rw-r--r-- | src/backends/neon/test/NeonEndToEndTests.cpp | 5 | ||||
-rw-r--r-- | src/backends/reference/RefLayerSupport.cpp | 2 | ||||
-rw-r--r-- | src/backends/reference/test/RefEndToEndTests.cpp | 8 |
10 files changed, 47 insertions, 28 deletions
diff --git a/src/armnnDeserializer/test/DeserializeFill.cpp b/src/armnnDeserializer/test/DeserializeFill.cpp index 632734fa9e..163a0fe968 100644 --- a/src/armnnDeserializer/test/DeserializeFill.cpp +++ b/src/armnnDeserializer/test/DeserializeFill.cpp @@ -34,7 +34,7 @@ struct FillFixture : public ParserFlatbuffersSerializeFixture dimensions: [ 4 ], - dataType: "Float32", + dataType: "Signed32", quantizationScale: 0.0 } } @@ -125,7 +125,7 @@ struct SimpleFillFixture : FillFixture BOOST_FIXTURE_TEST_CASE(Fill, SimpleFillFixture) { - RunTest<4, armnn::DataType::Float32>( + RunTest<4, armnn::DataType::Signed32, armnn::DataType::Float32>( 0, {{"InputLayer", { 1, 3, 3, 1 }}}, {{"OutputLayer",{ 1, 1, 1, 1, 1, 1, 1, 1, 1}}}); diff --git a/src/armnnSerializer/test/SerializerTests.cpp b/src/armnnSerializer/test/SerializerTests.cpp index e059511fc2..e00fb4dcde 100644 --- a/src/armnnSerializer/test/SerializerTests.cpp +++ b/src/armnnSerializer/test/SerializerTests.cpp @@ -1204,7 +1204,7 @@ BOOST_AUTO_TEST_CASE(SerializeFill) DECLARE_LAYER_VERIFIER_CLASS_WITH_DESCRIPTOR(Fill) const std::string layerName("fill"); - const armnn::TensorInfo inputInfo({4}, armnn::DataType::Float32); + const armnn::TensorInfo inputInfo({4}, armnn::DataType::Signed32); const armnn::TensorInfo outputInfo({1, 3, 3, 1}, armnn::DataType::Float32); armnn::FillDescriptor descriptor(1.0f); diff --git a/src/backends/backendsCommon/test/FillEndToEndTestImpl.hpp b/src/backends/backendsCommon/test/FillEndToEndTestImpl.hpp index f734a948ab..5d7601b14b 100644 --- a/src/backends/backendsCommon/test/FillEndToEndTestImpl.hpp +++ b/src/backends/backendsCommon/test/FillEndToEndTestImpl.hpp @@ -39,27 +39,31 @@ void FillEndToEnd(const std::vector<armnn::BackendId>& backends) FillDescriptor descriptor; descriptor.m_Value = 9; - std::vector<T> inputData{ + std::vector<int32_t> inputData { 1, 1, 5, 3 }; - std::vector<T> expectedOutputData{ + std::vector<float> floatExpectedOutputData { 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9 }; + std::vector<T> expectedOutputData = armnnUtils::QuantizedVector<T>(floatExpectedOutputData); - TensorInfo inputInfo ({ 4 }, ArmnnType); + TensorInfo inputInfo ({ 4 }, DataType::Signed32); TensorInfo outputInfo({ 1, 1, 5, 3 }, ArmnnType); armnn::INetworkPtr network = CreateFillNetwork(inputInfo, outputInfo, descriptor); BOOST_TEST_CHECKPOINT("create a network"); - std::map<int, std::vector<T>> inputTensorData = {{ 0, inputData }}; + std::map<int, std::vector<int32_t>> inputTensorData = {{ 0, inputData }}; std::map<int, std::vector<T>> expectedOutputTensorData = {{ 0, expectedOutputData }}; - EndToEndLayerTestImpl<ArmnnType, ArmnnType>(move(network), inputTensorData, expectedOutputTensorData, backends); + EndToEndLayerTestImpl<DataType::Signed32, ArmnnType>(move(network), + inputTensorData, + expectedOutputTensorData, + backends); } } // anonymous namespace
\ No newline at end of file diff --git a/src/backends/backendsCommon/test/layerTests/FillTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/FillTestImpl.cpp index 64970fecdf..040a988729 100644 --- a/src/backends/backendsCommon/test/layerTests/FillTestImpl.cpp +++ b/src/backends/backendsCommon/test/layerTests/FillTestImpl.cpp @@ -17,13 +17,10 @@ LayerTestResult<T, 4> SimpleFillTest( const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) { IgnoreUnused(memoryManager); - armnn::TensorInfo inputTensorInfo({4}, ArmnnType); - inputTensorInfo.SetQuantizationScale(0.0f); - + armnn::TensorInfo inputTensorInfo({4}, armnn::DataType::Signed32); armnn::TensorInfo outputTensorInfo({2, 2, 3, 2}, ArmnnType); - outputTensorInfo.SetQuantizationScale(0.0f); - auto input = MakeTensor<T, 1>(inputTensorInfo, ConvertToDataType<ArmnnType>( + auto input = MakeTensor<int32_t, 1>(inputTensorInfo, ConvertToDataType<armnn::DataType::Signed32>( {2, 2, 3, 2}, inputTensorInfo)); diff --git a/src/backends/cl/ClLayerSupport.cpp b/src/backends/cl/ClLayerSupport.cpp index 74b5aadb03..1af5c91fc5 100644 --- a/src/backends/cl/ClLayerSupport.cpp +++ b/src/backends/cl/ClLayerSupport.cpp @@ -430,12 +430,16 @@ bool ClLayerSupport::IsElementwiseUnarySupported(const TensorInfo& input, } } -bool ClLayerSupport::IsFillSupported(const TensorInfo&, - const TensorInfo&, - const FillDescriptor&, - Optional<std::string&>) const +bool ClLayerSupport::IsFillSupported(const TensorInfo& input, + const TensorInfo& output, + const FillDescriptor& descriptor, + Optional<std::string&> reasonIfUnsupported) const { - return true; + armnn::IgnoreUnused(input); + armnn::IgnoreUnused(output); + armnn::IgnoreUnused(descriptor); + + return IsClBackendSupported(reasonIfUnsupported); } bool ClLayerSupport::IsFloorSupported(const TensorInfo& input, diff --git a/src/backends/cl/test/ClEndToEndTests.cpp b/src/backends/cl/test/ClEndToEndTests.cpp index 0ac1b2a1e6..edee368fa9 100644 --- a/src/backends/cl/test/ClEndToEndTests.cpp +++ b/src/backends/cl/test/ClEndToEndTests.cpp @@ -237,6 +237,11 @@ BOOST_AUTO_TEST_CASE(ClFillEndToEndTest) FillEndToEnd<armnn::DataType::Float32>(defaultBackends); } +BOOST_AUTO_TEST_CASE(RefFillEndToEndTestFloat16) +{ + FillEndToEnd<armnn::DataType::Float16>(defaultBackends); +} + BOOST_AUTO_TEST_CASE(ClFillEndToEndTestInt32) { FillEndToEnd<armnn::DataType::Signed32>(defaultBackends); diff --git a/src/backends/neon/NeonLayerSupport.cpp b/src/backends/neon/NeonLayerSupport.cpp index b848f0c10f..9dc8a01778 100644 --- a/src/backends/neon/NeonLayerSupport.cpp +++ b/src/backends/neon/NeonLayerSupport.cpp @@ -406,12 +406,16 @@ bool NeonLayerSupport::IsElementwiseUnarySupported(const TensorInfo& input, } } -bool NeonLayerSupport::IsFillSupported(const TensorInfo&, - const TensorInfo&, - const FillDescriptor&, - Optional<std::string&>) const +bool NeonLayerSupport::IsFillSupported(const TensorInfo& input, + const TensorInfo& output, + const FillDescriptor& descriptor, + Optional<std::string&> reasonIfUnsupported) const { - return true; + armnn::IgnoreUnused(input); + armnn::IgnoreUnused(output); + armnn::IgnoreUnused(descriptor); + + return IsNeonBackendSupported(reasonIfUnsupported); } bool NeonLayerSupport::IsFloorSupported(const TensorInfo& input, diff --git a/src/backends/neon/test/NeonEndToEndTests.cpp b/src/backends/neon/test/NeonEndToEndTests.cpp index e89718a05e..ffbae51df6 100644 --- a/src/backends/neon/test/NeonEndToEndTests.cpp +++ b/src/backends/neon/test/NeonEndToEndTests.cpp @@ -452,6 +452,11 @@ BOOST_AUTO_TEST_CASE(NeonFillEndToEndTest) FillEndToEnd<armnn::DataType::Float32>(defaultBackends); } +BOOST_AUTO_TEST_CASE(RefFillEndToEndTestFloat16) +{ + FillEndToEnd<armnn::DataType::Float16>(defaultBackends); +} + BOOST_AUTO_TEST_CASE(NeonFillEndToEndTestInt32) { FillEndToEnd<armnn::DataType::Signed32>(defaultBackends); diff --git a/src/backends/reference/RefLayerSupport.cpp b/src/backends/reference/RefLayerSupport.cpp index 80527bdcb2..f6c214e2c6 100644 --- a/src/backends/reference/RefLayerSupport.cpp +++ b/src/backends/reference/RefLayerSupport.cpp @@ -874,7 +874,7 @@ bool RefLayerSupport::IsFillSupported(const TensorInfo& input, DataType::Signed32 }; - supported &= CheckSupportRule(TypeAnyOf(input, supportedTypes), reasonIfUnsupported, + supported &= CheckSupportRule(TypeIs(input, DataType::Signed32), reasonIfUnsupported, "Reference Fill: input type not supported."); supported &= CheckSupportRule(TypeAnyOf(output, supportedTypes), reasonIfUnsupported, diff --git a/src/backends/reference/test/RefEndToEndTests.cpp b/src/backends/reference/test/RefEndToEndTests.cpp index 027b621c23..4598568070 100644 --- a/src/backends/reference/test/RefEndToEndTests.cpp +++ b/src/backends/reference/test/RefEndToEndTests.cpp @@ -589,10 +589,10 @@ BOOST_AUTO_TEST_CASE(RefFillEndToEndTest) FillEndToEnd<armnn::DataType::Float32>(defaultBackends); } -//BOOST_AUTO_TEST_CASE(RefFillEndToEndTestFloat16) -//{ -// FillEndToEnd<armnn::DataType::Float16>(defaultBackends); -//} +BOOST_AUTO_TEST_CASE(RefFillEndToEndTestFloat16) +{ + FillEndToEnd<armnn::DataType::Float16>(defaultBackends); +} BOOST_AUTO_TEST_CASE(RefFillEndToEndTestInt32) { |