ArmNN
 22.05.01
TestUtils.cpp
Go to the documentation of this file.
1 //
2 // Copyright © 2017 Arm Ltd and Contributors. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 
6 #include "TestUtils.hpp"
7 
9 
11 
12 using namespace armnn;
13 
15  unsigned int fromIndex, unsigned int toIndex)
16 {
17  ARMNN_ASSERT(from);
18  ARMNN_ASSERT(to);
19 
20  try
21  {
22  from->GetOutputSlot(fromIndex).Connect(to->GetInputSlot(toIndex));
23  }
24  catch (const std::out_of_range& exc)
25  {
26  std::ostringstream message;
27 
28  if (to->GetType() == armnn::LayerType::FullyConnected && toIndex == 2)
29  {
30  message << "Tried to connect bias to FullyConnected layer when bias is not enabled: ";
31  }
32 
33  message << "Failed to connect to input slot "
34  << toIndex
35  << " on "
37  << " layer "
38  << std::quoted(to->GetName())
39  << " as the slot does not exist or is unavailable";
40  throw LayerValidationException(message.str());
41  }
42 
43  from->GetOutputSlot(fromIndex).SetTensorInfo(tensorInfo);
44 }
45 
46 namespace armnn
47 {
48 
50 {
51  return optNet->pOptimizedNetworkImpl->GetGraph();
52 }
53 
55 {
56  return optNet->pOptimizedNetworkImpl->GetModelOptions();
57 }
58 
59 arm::pipe::IProfilingService& GetProfilingService(armnn::RuntimeImpl* runtime)
60 {
61  return *(runtime->m_ProfilingService.get());
62 }
63 
64 }
Interface for a layer that is connectable to other layers via InputSlots and OutputSlots.
Definition: INetwork.hpp:66
std::vector< BackendOptions > ModelOptions
Copyright (c) 2021 ARM Limited and Contributors.
virtual void SetTensorInfo(const TensorInfo &tensorInfo)=0
std::unique_ptr< OptimizedNetworkImpl > pOptimizedNetworkImpl
Definition: INetwork.hpp:842
#define ARMNN_ASSERT(COND)
Definition: Assert.hpp:14
virtual LayerType GetType() const =0
Returns the armnn::LayerType of this layer.
Graph & GetGraphForTesting(IOptimizedNetwork *optNet)
Definition: TestUtils.cpp:49
virtual const IInputSlot & GetInputSlot(unsigned int index) const =0
Get a const input slot handle by slot index.
ModelOptions & GetModelOptionsForTesting(IOptimizedNetwork *optNet)
Definition: TestUtils.cpp:54
virtual const IOutputSlot & GetOutputSlot(unsigned int index) const =0
Get the const output slot handle by slot index.
virtual const char * GetName() const =0
Returns the name of the layer.
void Connect(armnn::IConnectableLayer *from, armnn::IConnectableLayer *to, const armnn::TensorInfo &tensorInfo, unsigned int fromIndex, unsigned int toIndex)
Definition: TestUtils.cpp:14
virtual int Connect(IInputSlot &destination)=0
arm::pipe::IProfilingService & GetProfilingService(armnn::RuntimeImpl *runtime)
Definition: TestUtils.cpp:59
const char * GetLayerTypeAsCString(LayerType type)