blob: b446fc48c39051b2e20f6143a2a5c0b021155067 [file] [log] [blame]
Aron Virginas-Tarc26ba752018-10-22 13:32:01 +01001//
2// Copyright © 2017 Arm Ltd. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5#pragma once
6
7#include <armnn/ArmNN.hpp>
Aron Virginas-Tarc9cc8042018-11-01 16:15:57 +00008
9#include <Runtime.hpp>
Aron Virginas-Tarc26ba752018-10-22 13:32:01 +010010
11namespace
12{
13
14inline 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