IVGCVSW-2093 Add SpaceToBatchNd layer and corresponding no-op factory implementations
[platform/upstream/armnn.git] / src / backends / 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 #include <armnn/Runtime.hpp>
9
10 namespace
11 {
12
13 inline void CreateAndDropDummyNetwork(const std::vector<armnn::BackendId>& backends, armnn::Runtime& runtime)
14 {
15     armnn::NetworkId networkIdentifier;
16     {
17         armnn::TensorInfo inputTensorInfo(armnn::TensorShape({ 7, 7 }), armnn::DataType::Float32);
18         armnn::TensorInfo outputTensorInfo(armnn::TensorShape({ 7, 7 }), armnn::DataType::Float32);
19
20         armnn::INetworkPtr network(armnn::INetwork::Create());
21
22         armnn::IConnectableLayer* input = network->AddInputLayer(0, "input");
23         armnn::IConnectableLayer* layer = network->AddActivationLayer(armnn::ActivationDescriptor(), "test");
24         armnn::IConnectableLayer* output = network->AddOutputLayer(0, "output");
25
26         input->GetOutputSlot(0).Connect(layer->GetInputSlot(0));
27         layer->GetOutputSlot(0).Connect(output->GetInputSlot(0));
28
29         // Sets the tensors in the network.
30         input->GetOutputSlot(0).SetTensorInfo(inputTensorInfo);
31         layer->GetOutputSlot(0).SetTensorInfo(outputTensorInfo);
32
33         // optimize the network
34         armnn::IOptimizedNetworkPtr optNet = Optimize(*network, backends, runtime.GetDeviceSpec());
35
36         runtime.LoadNetwork(networkIdentifier, std::move(optNet));
37     }
38
39     runtime.UnloadNetwork(networkIdentifier);
40 }
41
42 } // anonymous namespace