aboutsummaryrefslogtreecommitdiff
path: root/src/armnnOnnxParser/OnnxParser.hpp
diff options
context:
space:
mode:
authorNarumol Prangnawarat <narumol.prangnawarat@arm.com>2021-09-17 21:08:57 +0100
committerJim Flynn <jim.flynn@arm.com>2021-09-24 14:17:31 +0000
commitf10b15a8946f39bdf3f60cebc59d2963069eedca (patch)
tree9cba39db69acad2bd5728cefbad578161e6ba63c /src/armnnOnnxParser/OnnxParser.hpp
parent4fcc8632aaa64e683d98199659093d1aa99ffb08 (diff)
downloadarmnn-f10b15a8946f39bdf3f60cebc59d2963069eedca.tar.gz
IVGCVSW-6382 Add Gather operator support to ONNX parser
* Add ParseGather to support Gather operator on ONNX * Add Support of int64 converted to int32 for constant * Add OnnxParserTestUtils * Refactor ValidateTensorShapesFromInputs of GatherLayer * Unit tests Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: Ie9dff640240e14a062fef38f7faf0ccc212de5f7
Diffstat (limited to 'src/armnnOnnxParser/OnnxParser.hpp')
-rw-r--r--src/armnnOnnxParser/OnnxParser.hpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/armnnOnnxParser/OnnxParser.hpp b/src/armnnOnnxParser/OnnxParser.hpp
index 101e99ff8d..b71b8dca49 100644
--- a/src/armnnOnnxParser/OnnxParser.hpp
+++ b/src/armnnOnnxParser/OnnxParser.hpp
@@ -98,6 +98,7 @@ private:
void AddPoolingLayer(const onnx::NodeProto& nodeProto, armnn::Pooling2dDescriptor& desc);
void CreateConstantLayer(const std::string& tensorName, const std::string& layerName);
+ void CreateInt64ConstantLayer(const std::string& tensorName, const std::string& layerName);
void CreateReshapeLayer(const std::string& inputName,
const std::string& outputName,
const std::string& layerName);
@@ -115,6 +116,7 @@ private:
void ParseConstant(const onnx::NodeProto& nodeProto);
void ParseConv(const onnx::NodeProto& nodeProto);
void ParseFlatten(const onnx::NodeProto& node);
+ void ParseGather(const onnx::NodeProto& node);
void ParseGlobalAveragePool(const onnx::NodeProto& node);
void ParseMaxPool(const onnx::NodeProto& nodeProto);
void ParseShape(const onnx::NodeProto& node);
@@ -133,6 +135,10 @@ private:
CreateConstTensor(const std::string name,
armnn::Optional<armnn::PermutationVector&> permutationVector = armnn::EmptyOptional());
+ std::pair<armnn::ConstTensor, std::unique_ptr<int32_t[]>>
+ CreateInt64ConstTensor(const std::string name,
+ armnn::Optional<armnn::PermutationVector&> permutationVector = armnn::EmptyOptional());
+
template <typename TypeList, typename Location>
void ValidateInputs(const onnx::NodeProto& node,
TypeList validInputs,