aboutsummaryrefslogtreecommitdiff
path: root/src/armnnOnnxParser/OnnxParser.cpp
diff options
context:
space:
mode:
authorKeith Davis <keith.davis@arm.com>2022-04-07 11:32:00 +0100
committerRyan OShea <ryan.oshea3@arm.com>2022-05-19 11:05:15 +0100
commit2cddc72f7aa1eab43c69250e608d662909383ba7 (patch)
tree62c531bb82b96c14469c151c3738e1e0383e5972 /src/armnnOnnxParser/OnnxParser.cpp
parent85edad42b8b76e76c5d969e4bc380b0e8a845c9b (diff)
downloadarmnn-2cddc72f7aa1eab43c69250e608d662909383ba7.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.cpp7
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)});