aboutsummaryrefslogtreecommitdiff
path: root/arm_compute/graph/frontend/Layers.h
diff options
context:
space:
mode:
authorGeorgios Pinitas <georgios.pinitas@arm.com>2018-08-02 13:41:49 +0100
committerAnthony Barbier <anthony.barbier@arm.com>2018-11-02 16:54:54 +0000
commit57c48243af8fd4b503fe629166531299c1b083d3 (patch)
tree6d48c2681663e3a4a34cf13a725124bfede6fe53 /arm_compute/graph/frontend/Layers.h
parentebbb7f2ee00bdebad5da3629bbc78dc3a65fe0c5 (diff)
downloadComputeLibrary-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/Layers.h')
-rw-r--r--arm_compute/graph/frontend/Layers.h27
1 files changed, 27 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
{