IVGCVSW-1946: Remove armnn/src from the include paths
[platform/upstream/armnn.git] / src / backends / backendsCommon / test / RuntimeTestImpl.hpp
1 //
2 // Copyright © 2017 Arm Ltd. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 #pragma once
6
7 #include <armnn/ArmNN.hpp>
8
9 #include <Runtime.hpp>
10
11 namespace
12 {
13
14 inline void CreateAndDropDummyNetwork(const std::vector<armnn::BackendId>& backends, armnn::Runtime& runtime)
15 {
16     armnn::NetworkId networkIdentifier;
17     {
18         armnn::TensorInfo inputTensorInfo(armnn::TensorShape({ 7, 7 }), armnn::DataType::Float32);
19         armnn::TensorInfo outputTensorInfo(armnn::TensorShape({ 7, 7 }), armnn::DataType::Float32);
20
21         armnn::INetworkPtr network(armnn::INetwork::Create());
22
23         armnn::IConnectableLayer* input = network->AddInputLayer(0, "input");
24         armnn::IConnectableLayer* layer = network->AddActivationLayer(armnn::ActivationDescriptor(), "test");
25         armnn::IConnectableLayer* output = network->AddOutputLayer(0, "output");
26
27         input->GetOutputSlot(0).Connect(layer->GetInputSlot(0));
28         layer->GetOutputSlot(0).Connect(output->GetInputSlot(0));
29
30         // Sets the tensors in the network.
31         input->GetOutputSlot(0).SetTensorInfo(inputTensorInfo);
32         layer->GetOutputSlot(0).SetTensorInfo(outputTensorInfo);
33
34         // optimize the network
35         armnn::IOptimizedNetworkPtr optNet = Optimize(*network, backends, runtime.GetDeviceSpec());
36
37         runtime.LoadNetwork(networkIdentifier, std::move(optNet));
38     }
39
40     runtime.UnloadNetwork(networkIdentifier);
41 }
42
43 } // anonymous namespace