From 4408850bd426481e39ae9182aff4d563b6836181 Mon Sep 17 00:00:00 2001 From: Teresa Charlin Date: Mon, 27 Jul 2020 11:27:19 +0100 Subject: IVGCVSW-4712 Add EndToEnd test for FILL Signed-off-by: Teresa Charlin Change-Id: Ic89bcbbd580abe1b05bd26748db704e83cf65bea --- src/backends/backendsCommon/test/CMakeLists.txt | 5 +- .../backendsCommon/test/FillEndToEndTestImpl.hpp | 65 ++++++++++++++++++++++ 2 files changed, 68 insertions(+), 2 deletions(-) create mode 100644 src/backends/backendsCommon/test/FillEndToEndTestImpl.hpp (limited to 'src/backends/backendsCommon/test') diff --git a/src/backends/backendsCommon/test/CMakeLists.txt b/src/backends/backendsCommon/test/CMakeLists.txt index 8373c28cd3..19e897c2f7 100644 --- a/src/backends/backendsCommon/test/CMakeLists.txt +++ b/src/backends/backendsCommon/test/CMakeLists.txt @@ -1,10 +1,11 @@ # -# Copyright © 2017 Arm Ltd. All rights reserved. +# Copyright © 2017 Arm Ltd and Contributors. All rights reserved. # SPDX-License-Identifier: MIT # list(APPEND armnnBackendsCommonUnitTests_sources ActivationFixture.hpp + ActivationEndToEndTestImpl.hpp ArgMinMaxEndToEndTestImpl.hpp BackendIdTests.cpp BackendProfilingTests.cpp @@ -21,7 +22,7 @@ list(APPEND armnnBackendsCommonUnitTests_sources DynamicBackendTests.hpp ElementwiseUnaryEndToEndTestImpl.hpp EndToEndTestImpl.hpp - ActivationEndToEndTestImpl.hpp + FillEndToEndTestImpl.hpp GatherEndToEndTestImpl.hpp InstanceNormalizationEndToEndTestImpl.cpp InstanceNormalizationEndToEndTestImpl.hpp diff --git a/src/backends/backendsCommon/test/FillEndToEndTestImpl.hpp b/src/backends/backendsCommon/test/FillEndToEndTestImpl.hpp new file mode 100644 index 0000000000..f734a948ab --- /dev/null +++ b/src/backends/backendsCommon/test/FillEndToEndTestImpl.hpp @@ -0,0 +1,65 @@ +// +// Copyright © 2020 Arm Ltd and Contributors. All rights reserved. +// SPDX-License-Identifier: MIT +// + +#pragma once + +#include "CommonTestUtils.hpp" + +#include +#include + +#include + +namespace +{ + +armnn::INetworkPtr CreateFillNetwork(const armnn::TensorInfo& inputTensorInfo, + const armnn::TensorInfo& outputTensorInfo, + armnn::FillDescriptor descriptor) +{ + armnn::INetworkPtr network(armnn::INetwork::Create()); + + armnn::IConnectableLayer* inputLayer = network->AddInputLayer(0, "Input"); + armnn::IConnectableLayer* fillLayer = network->AddFillLayer(descriptor, "Fill"); + armnn::IConnectableLayer* outputLayer = network->AddOutputLayer(0, "Output"); + + Connect(inputLayer, fillLayer, inputTensorInfo, 0, 0); + Connect(fillLayer, outputLayer, outputTensorInfo, 0, 0); + + return network; +} + +template> +void FillEndToEnd(const std::vector& backends) +{ + using namespace armnn; + + FillDescriptor descriptor; + descriptor.m_Value = 9; + + std::vector inputData{ + 1, 1, 5, 3 + }; + + std::vector expectedOutputData{ + 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9 + }; + + TensorInfo inputInfo ({ 4 }, ArmnnType); + TensorInfo outputInfo({ 1, 1, 5, 3 }, ArmnnType); + + armnn::INetworkPtr network = CreateFillNetwork(inputInfo, outputInfo, descriptor); + + BOOST_TEST_CHECKPOINT("create a network"); + + std::map> inputTensorData = {{ 0, inputData }}; + std::map> expectedOutputTensorData = {{ 0, expectedOutputData }}; + + EndToEndLayerTestImpl(move(network), inputTensorData, expectedOutputTensorData, backends); +} + +} // anonymous namespace \ No newline at end of file -- cgit v1.2.1