diff options
author | Georgios Pinitas <georgios.pinitas@arm.com> | 2018-08-02 13:41:49 +0100 |
---|---|---|
committer | Anthony Barbier <anthony.barbier@arm.com> | 2018-11-02 16:54:54 +0000 |
commit | 57c48243af8fd4b503fe629166531299c1b083d3 (patch) | |
tree | 6d48c2681663e3a4a34cf13a725124bfede6fe53 /src/graph/backends | |
parent | ebbb7f2ee00bdebad5da3629bbc78dc3a65fe0c5 (diff) | |
download | ComputeLibrary-57c48243af8fd4b503fe629166531299c1b083d3.tar.gz |
MLCE-37: Adds PermuteNode support in graph
Change-Id: Iaa93a497e7913c27f2fd09e974125cda5f04bc4b
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/142463
Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
Tested-by: Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'src/graph/backends')
-rw-r--r-- | src/graph/backends/CL/CLFunctionsFactory.cpp | 2 | ||||
-rw-r--r-- | src/graph/backends/CL/CLNodeValidator.cpp | 2 | ||||
-rw-r--r-- | src/graph/backends/GLES/GCNodeValidator.cpp | 4 | ||||
-rw-r--r-- | src/graph/backends/NEON/NEFunctionFactory.cpp | 2 | ||||
-rw-r--r-- | src/graph/backends/NEON/NENodeValidator.cpp | 2 |
5 files changed, 12 insertions, 0 deletions
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<IFunction> CLFunctionFactory::create(INode *node, GraphContext & return detail::create_fully_connected_layer<CLFullyConnectedLayer, CLTargetInfo>(*polymorphic_downcast<FullyConnectedLayerNode *>(node), ctx); case NodeType::NormalizationLayer: return detail::create_normalization_layer<CLNormalizationLayer, CLTargetInfo>(*polymorphic_downcast<NormalizationLayerNode *>(node), ctx); + case NodeType::PermuteLayer: + return detail::create_permute_layer<CLPermute, CLTargetInfo>(*polymorphic_downcast<PermuteLayerNode *>(node)); case NodeType::PoolingLayer: return detail::create_pooling_layer<CLPoolingLayer, CLTargetInfo>(*polymorphic_downcast<PoolingLayerNode *>(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<CLDepthwiseConvolutionLayer, CLDepthwiseConvolutionLayer3x3>(*polymorphic_downcast<DepthwiseConvolutionLayerNode *>(node)); + case NodeType::PermuteLayer: + return detail::validate_permute_layer<CLPermute>(*polymorphic_downcast<PermuteLayerNode *>(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<ConvolutionLayerNode *>(node)); case NodeType::DepthwiseConvolutionLayer: return validate_depthwise_convolution_layer(*polymorphic_downcast<DepthwiseConvolutionLayerNode *>(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<IFunction> NEFunctionFactory::create(INode *node, GraphContext & return detail::create_fully_connected_layer<NEFullyConnectedLayer, NETargetInfo>(*polymorphic_downcast<FullyConnectedLayerNode *>(node), ctx); case NodeType::NormalizationLayer: return detail::create_normalization_layer<NENormalizationLayer, NETargetInfo>(*polymorphic_downcast<NormalizationLayerNode *>(node), ctx); + case NodeType::PermuteLayer: + return detail::create_permute_layer<NEPermute, NETargetInfo>(*polymorphic_downcast<PermuteLayerNode *>(node)); case NodeType::PoolingLayer: return detail::create_pooling_layer<NEPoolingLayer, NETargetInfo>(*polymorphic_downcast<PoolingLayerNode *>(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<NEDepthwiseConvolutionLayer, NEDepthwiseConvolutionLayer3x3>(*polymorphic_downcast<DepthwiseConvolutionLayerNode *>(node)); + case NodeType::PermuteLayer: + return detail::validate_permute_layer<NEPermute>(*polymorphic_downcast<PermuteLayerNode *>(node)); default: return Status{}; } |