diff options
Diffstat (limited to 'src/backends/backendsCommon')
-rw-r--r-- | src/backends/backendsCommon/test/CMakeLists.txt | 5 | ||||
-rw-r--r-- | src/backends/backendsCommon/test/FillEndToEndTestImpl.hpp | 65 |
2 files changed, 68 insertions, 2 deletions
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 <armnn/INetwork.hpp> +#include <armnn/TypesUtils.hpp> + +#include <ResolveType.hpp> + +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<armnn::DataType ArmnnType, typename T = armnn::ResolveType<ArmnnType>> +void FillEndToEnd(const std::vector<armnn::BackendId>& backends) +{ + using namespace armnn; + + FillDescriptor descriptor; + descriptor.m_Value = 9; + + std::vector<T> inputData{ + 1, 1, 5, 3 + }; + + std::vector<T> 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<int, std::vector<T>> inputTensorData = {{ 0, inputData }}; + std::map<int, std::vector<T>> expectedOutputTensorData = {{ 0, expectedOutputData }}; + + EndToEndLayerTestImpl<ArmnnType, ArmnnType>(move(network), inputTensorData, expectedOutputTensorData, backends); +} + +} // anonymous namespace
\ No newline at end of file |