From f24effa4995ea4c3dd91e33d4a2787e02decf8b4 Mon Sep 17 00:00:00 2001 From: Finn Williams Date: Fri, 3 Jul 2020 10:12:03 +0100 Subject: IVGCVSW-5155 Update Arm NN API to allow for call to shape inference Signed-off-by: Finn Williams Change-Id: I0a2babe5b5b09eb81c9900dc3a05071034a0440b --- src/armnn/Network.cpp | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) (limited to 'src/armnn/Network.cpp') diff --git a/src/armnn/Network.cpp b/src/armnn/Network.cpp index e0607bda33..132924a19a 100644 --- a/src/armnn/Network.cpp +++ b/src/armnn/Network.cpp @@ -42,14 +42,14 @@ namespace armnn { -armnn::INetwork* INetwork::CreateRaw() +armnn::INetwork* INetwork::CreateRaw(NetworkOptions networkOptions) { - return new Network(); + return new Network(networkOptions); } -armnn::INetworkPtr INetwork::Create() +armnn::INetworkPtr INetwork::Create(NetworkOptions networkOptions) { - return INetworkPtr(CreateRaw(), &INetwork::Destroy); + return INetworkPtr(CreateRaw(networkOptions), &INetwork::Destroy); } void INetwork::Destroy(INetwork* network) @@ -1147,11 +1147,19 @@ IOptimizedNetworkPtr Optimize(const INetwork& inNetwork, return optNet; } - -Network::Network() -: m_Graph(std::make_unique()) +bool Network::GetShapeInferenceMethod() { + if (m_NetworkOptions.size() > 0 && m_NetworkOptions[0].GetBackendId().Get() == "ShapeInferenceMethod") + { + return m_NetworkOptions[0].GetOption(0).GetValue().AsBool(); + } + + return false; } +Network::Network(NetworkOptions networkOptions) +: m_NetworkOptions(networkOptions), + m_Graph(std::make_unique(GetShapeInferenceMethod())) +{} Network::~Network() { -- cgit v1.2.1