From 721e629fa07e65d6a53c093518021e71e48eeac2 Mon Sep 17 00:00:00 2001 From: Keith Davis Date: Tue, 17 May 2022 10:06:53 +0100 Subject: IVGCVSW-6123 ConstTensorsAsInputs: Conv2d * Use new INetwork::AddConvolution2dLayer instead of deprecated version * Remove duplicated test in SerlializerTests * Fix some cosmetics Signed-off-by: Keith Davis Change-Id: I3407815bfdc1cdc01ca0a667b8e4d80d8621783f --- src/armnnOnnxParser/OnnxParser.cpp | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) (limited to 'src/armnnOnnxParser') diff --git a/src/armnnOnnxParser/OnnxParser.cpp b/src/armnnOnnxParser/OnnxParser.cpp index 60bd962db7..63fb60382c 100644 --- a/src/armnnOnnxParser/OnnxParser.cpp +++ b/src/armnnOnnxParser/OnnxParser.cpp @@ -1762,11 +1762,16 @@ void OnnxParserImpl::ParseConv(const onnx::NodeProto& node) } } - armnn::IConnectableLayer* layer; + node.input_size() == 3 ? desc.m_BiasEnabled = true : desc.m_BiasEnabled = false; + armnn::IConnectableLayer* layer = m_Network->AddConvolution2dLayer(desc, node.name().c_str()); std::vector tensorIndexes= {node.input(0), node.input(1)}; auto weightTensor = CreateConstTensor(node.input(1)); + IConnectableLayer* weightsLayer = m_Network->AddConstantLayer(weightTensor.first); + weightsLayer->GetOutputSlot(0).SetTensorInfo(weightTensor.first.GetInfo()); + weightsLayer->GetOutputSlot(0).Connect(layer->GetInputSlot(1u)); + if (node.input_size() == 3) { if(!m_TensorsInfo[node.input(2)].isConstant()) @@ -1777,22 +1782,15 @@ void OnnxParserImpl::ParseConv(const onnx::NodeProto& node) CHECK_LOCATION().AsString())); } desc.m_BiasEnabled = true; - tensorIndexes.emplace_back(node.input(2)); auto biasTensor = CreateConstTensor(node.input(2)); - ARMNN_NO_DEPRECATE_WARN_BEGIN - layer = m_Network->AddConvolution2dLayer(desc, - weightTensor.first, - Optional(biasTensor.first), - node.name().c_str()); - } - else - { - layer = m_Network->AddConvolution2dLayer(desc, - weightTensor.first, - EmptyOptional(), - node.name().c_str()); - ARMNN_NO_DEPRECATE_WARN_END + + IConnectableLayer* biasLayer = m_Network->AddConstantLayer(biasTensor.first); + biasLayer->GetOutputSlot(0).SetTensorInfo(biasTensor.first.GetInfo()); + biasLayer->GetOutputSlot(0).Connect(layer->GetInputSlot(2u)); + + tensorIndexes.emplace_back(node.input(2)); } + ARMNN_ASSERT(layer != nullptr); auto outputInfo = ComputeOutputInfo({ node.output(0) }, layer, -- cgit v1.2.1