diff options
author | Keith Davis <keith.davis@arm.com> | 2022-04-07 11:32:00 +0100 |
---|---|---|
committer | Keith Davis <keith.davis@arm.com> | 2022-05-16 16:08:54 +0100 |
commit | b4dd5cc86d4eb841de670f0f102ede599e0d9c40 (patch) | |
tree | 77857cf739baecaf63701b66c1a2646b7930a834 /src/armnnOnnxParser/OnnxParser.cpp | |
parent | b86ec6641b4b06ccddad5eebbc21010d6184fe79 (diff) | |
download | armnn-b4dd5cc86d4eb841de670f0f102ede599e0d9c40.tar.gz |
IVGCVSW-6124 ConstTensorsAsInput: Conv2d - FrontEnd
* Update Front-end and Tools.
* Updated Serializer, Deserializer and unit tests to reflect this.
* Updated TfLiteDelegate, TfLiteParser and OnnxParser.
* Updated Ref.
* Fixed resulting Neon / CL tests
* Unified optimizers for conv2d ops
* Optimizer Fix - Fp32ToBf16
* Partial implementation for ACL backends to fix VTS failures
!android-nn-driver:7477
Signed-off-by: Keith Davis <keith.davis@arm.com>
Change-Id: I5fb18877f7ee32643e15a9818945356274bb401b
Diffstat (limited to 'src/armnnOnnxParser/OnnxParser.cpp')
-rw-r--r-- | src/armnnOnnxParser/OnnxParser.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/armnnOnnxParser/OnnxParser.cpp b/src/armnnOnnxParser/OnnxParser.cpp index dd6a06fd00..4eaf63653b 100644 --- a/src/armnnOnnxParser/OnnxParser.cpp +++ b/src/armnnOnnxParser/OnnxParser.cpp @@ -1754,6 +1754,8 @@ void OnnxParserImpl::ParseConv(const onnx::NodeProto& node) } armnn::IConnectableLayer* layer; + std::vector<std::string> tensorIndexes= {node.input(0), node.input(1)}; + auto weightTensor = CreateConstTensor(node.input(1)); if (node.input_size() == 3) @@ -1766,7 +1768,9 @@ 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<ConstTensor>(biasTensor.first), @@ -1778,6 +1782,7 @@ void OnnxParserImpl::ParseConv(const onnx::NodeProto& node) weightTensor.first, EmptyOptional(), node.name().c_str()); + ARMNN_NO_DEPRECATE_WARN_END } ARMNN_ASSERT(layer != nullptr); @@ -1788,7 +1793,7 @@ void OnnxParserImpl::ParseConv(const onnx::NodeProto& node) // register the input connection slots for the layer, connections are made after all layers have been created // only the tensors for the inputs are relevant, exclude the const tensors - RegisterInputSlots(layer, {node.input(0)}); + RegisterInputSlots(layer, tensorIndexes); // register the output connection slots for the layer, connections are made after all layers have been created RegisterOutputSlots(layer, {node.output(0)}); |