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 /arm_compute/graph/frontend | |
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 'arm_compute/graph/frontend')
-rw-r--r-- | arm_compute/graph/frontend/Layers.h | 27 | ||||
-rw-r--r-- | arm_compute/graph/frontend/Types.h | 1 |
2 files changed, 28 insertions, 0 deletions
diff --git a/arm_compute/graph/frontend/Layers.h b/arm_compute/graph/frontend/Layers.h index 0a1a0cf1e4..cf80dd9f4e 100644 --- a/arm_compute/graph/frontend/Layers.h +++ b/arm_compute/graph/frontend/Layers.h @@ -445,6 +445,33 @@ private: NormalizationLayerInfo _norm_info; }; +/** Permute Layer */ +class PermuteLayer final : public ILayer +{ +public: + /** Construct a permute layer. + * + * @param[in] perm Permutation vector. + * @param[in] layout (Optional) Data layout to assign to permuted tensor. + * If UNKNOWN then the input's layout will be used. + */ + PermuteLayer(PermutationVector perm, DataLayout layout = DataLayout::UNKNOWN) + : _perm(perm), _layout(layout) + { + } + + NodeID create_layer(IStream &s) override + { + NodeParams common_params = { name(), s.hints().target_hint }; + NodeIdxPair input = { s.tail_node(), 0 }; + return GraphBuilder::add_permute_node(s.graph(), common_params, input, _perm, _layout); + } + +private: + PermutationVector _perm; + DataLayout _layout; +}; + /** Pooling Layer */ class PoolingLayer final : public ILayer { diff --git a/arm_compute/graph/frontend/Types.h b/arm_compute/graph/frontend/Types.h index f9d4952765..8f6312f318 100644 --- a/arm_compute/graph/frontend/Types.h +++ b/arm_compute/graph/frontend/Types.h @@ -36,6 +36,7 @@ namespace frontend using graph::DataType; using graph::DataLayout; using graph::TensorShape; +using graph::PermutationVector; using graph::ActivationLayerInfo; using graph::NormalizationLayerInfo; |