1 //
2 // Copyright © 2017 Arm Ltd. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 #pragma once
6
7
8 #include <Runtime.hpp>
9
10 namespace
11 {
12
CreateAndDropDummyNetwork(const std::vector<armnn::BackendId> & backends,armnn::RuntimeImpl & runtime)13 inline void CreateAndDropDummyNetwork(const std::vector<armnn::BackendId>& backends, armnn::RuntimeImpl& 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
43