From 57c48243af8fd4b503fe629166531299c1b083d3 Mon Sep 17 00:00:00 2001 From: Georgios Pinitas Date: Thu, 2 Aug 2018 13:41:49 +0100 Subject: MLCE-37: Adds PermuteNode support in graph Change-Id: Iaa93a497e7913c27f2fd09e974125cda5f04bc4b Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/142463 Reviewed-by: Anthony Barbier Tested-by: Jenkins --- src/graph/backends/CL/CLFunctionsFactory.cpp | 2 ++ src/graph/backends/CL/CLNodeValidator.cpp | 2 ++ src/graph/backends/GLES/GCNodeValidator.cpp | 4 ++++ src/graph/backends/NEON/NEFunctionFactory.cpp | 2 ++ src/graph/backends/NEON/NENodeValidator.cpp | 2 ++ 5 files changed, 12 insertions(+) (limited to 'src/graph/backends') diff --git a/src/graph/backends/CL/CLFunctionsFactory.cpp b/src/graph/backends/CL/CLFunctionsFactory.cpp index 57871487ef..bf3dcba224 100644 --- a/src/graph/backends/CL/CLFunctionsFactory.cpp +++ b/src/graph/backends/CL/CLFunctionsFactory.cpp @@ -101,6 +101,8 @@ std::unique_ptr CLFunctionFactory::create(INode *node, GraphContext & return detail::create_fully_connected_layer(*polymorphic_downcast(node), ctx); case NodeType::NormalizationLayer: return detail::create_normalization_layer(*polymorphic_downcast(node), ctx); + case NodeType::PermuteLayer: + return detail::create_permute_layer(*polymorphic_downcast(node)); case NodeType::PoolingLayer: return detail::create_pooling_layer(*polymorphic_downcast(node)); case NodeType::ReshapeLayer: diff --git a/src/graph/backends/CL/CLNodeValidator.cpp b/src/graph/backends/CL/CLNodeValidator.cpp index 3e63617478..ba5b59d76a 100644 --- a/src/graph/backends/CL/CLNodeValidator.cpp +++ b/src/graph/backends/CL/CLNodeValidator.cpp @@ -57,6 +57,8 @@ Status CLNodeValidator::validate(INode *node) case NodeType::DepthwiseConvolutionLayer: return detail::validate_depthwise_convolution_layer(*polymorphic_downcast(node)); + case NodeType::PermuteLayer: + return detail::validate_permute_layer(*polymorphic_downcast(node)); default: return Status{}; } diff --git a/src/graph/backends/GLES/GCNodeValidator.cpp b/src/graph/backends/GLES/GCNodeValidator.cpp index 8118a7c476..542cfdf973 100644 --- a/src/graph/backends/GLES/GCNodeValidator.cpp +++ b/src/graph/backends/GLES/GCNodeValidator.cpp @@ -105,12 +105,16 @@ Status GCNodeValidator::validate(INode *node) NodeType type = node->type(); switch(type) { + case NodeType::ChannelShuffleLayer: + return ARM_COMPUTE_CREATE_ERROR(arm_compute::ErrorCode::RUNTIME_ERROR, "Unsupported operation : ChannelShuffleLayer"); case NodeType::ConvolutionLayer: return validate_convolution_layer(*polymorphic_downcast(node)); case NodeType::DepthwiseConvolutionLayer: return validate_depthwise_convolution_layer(*polymorphic_downcast(node)); case NodeType::FlattenLayer: return ARM_COMPUTE_CREATE_ERROR(arm_compute::ErrorCode::RUNTIME_ERROR, "Unsupported operation : FlattenLayer"); + case NodeType::PermuteLayer: + return ARM_COMPUTE_CREATE_ERROR(arm_compute::ErrorCode::RUNTIME_ERROR, "Unsupported operation : PermuteLayer"); case NodeType::ReshapeLayer: return ARM_COMPUTE_CREATE_ERROR(arm_compute::ErrorCode::RUNTIME_ERROR, "Unsupported operation : ReshapeLayer"); default: diff --git a/src/graph/backends/NEON/NEFunctionFactory.cpp b/src/graph/backends/NEON/NEFunctionFactory.cpp index 6c912a02f1..36a25ada10 100644 --- a/src/graph/backends/NEON/NEFunctionFactory.cpp +++ b/src/graph/backends/NEON/NEFunctionFactory.cpp @@ -195,6 +195,8 @@ std::unique_ptr NEFunctionFactory::create(INode *node, GraphContext & return detail::create_fully_connected_layer(*polymorphic_downcast(node), ctx); case NodeType::NormalizationLayer: return detail::create_normalization_layer(*polymorphic_downcast(node), ctx); + case NodeType::PermuteLayer: + return detail::create_permute_layer(*polymorphic_downcast(node)); case NodeType::PoolingLayer: return detail::create_pooling_layer(*polymorphic_downcast(node)); case NodeType::ReshapeLayer: diff --git a/src/graph/backends/NEON/NENodeValidator.cpp b/src/graph/backends/NEON/NENodeValidator.cpp index 58589d5449..58ffaf024b 100644 --- a/src/graph/backends/NEON/NENodeValidator.cpp +++ b/src/graph/backends/NEON/NENodeValidator.cpp @@ -57,6 +57,8 @@ Status NENodeValidator::validate(INode *node) case NodeType::DepthwiseConvolutionLayer: return detail::validate_depthwise_convolution_layer(*polymorphic_downcast(node)); + case NodeType::PermuteLayer: + return detail::validate_permute_layer(*polymorphic_downcast(node)); default: return Status{}; } -- cgit v1.2.1