diff options
author | telsoa01 <telmo.soares@arm.com> | 2018-03-09 14:13:49 +0000 |
---|---|---|
committer | telsoa01 <telmo.soares@arm.com> | 2018-03-09 14:13:49 +0000 |
commit | 4fcda0101ec3d110c1d6d7bee5c83416b645528a (patch) | |
tree | c9a70aeb2887006160c1b3d265c27efadb7bdbae /src/armnn/LayersFwd.hpp | |
download | armnn-4fcda0101ec3d110c1d6d7bee5c83416b645528a.tar.gz |
Release 18.02
Change-Id: Id3c11dc5ee94ef664374a988fcc6901e9a232fa6
Diffstat (limited to 'src/armnn/LayersFwd.hpp')
-rw-r--r-- | src/armnn/LayersFwd.hpp | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/src/armnn/LayersFwd.hpp b/src/armnn/LayersFwd.hpp new file mode 100644 index 0000000000..a77c723751 --- /dev/null +++ b/src/armnn/LayersFwd.hpp @@ -0,0 +1,59 @@ +// +// Copyright © 2017 Arm Ltd. All rights reserved. +// See LICENSE file in the project root for full license information. +// +#pragma once + +#include "InternalTypes.hpp" + +namespace armnn +{ + +template <LayerType Type> +struct LayerTypeOfImpl; + +template <LayerType Type> +using LayerTypeOf = typename LayerTypeOfImpl<Type>::Type; + +template <typename T> +constexpr LayerType LayerEnumOf(const T* = nullptr); + +#define DECLARE_LAYER_IMPL(_, LayerName) \ + class LayerName##Layer; \ + template <> \ + struct LayerTypeOfImpl<LayerType::_##LayerName> \ + { \ + using Type = LayerName##Layer; \ + }; \ + template <> \ + constexpr LayerType LayerEnumOf(const LayerName##Layer*) \ + { \ + return LayerType::_##LayerName; \ + } + +#define DECLARE_LAYER(LayerName) DECLARE_LAYER_IMPL(, LayerName) + +DECLARE_LAYER(Activation) +DECLARE_LAYER(Addition) +DECLARE_LAYER(BatchNormalization) +DECLARE_LAYER(Constant) +DECLARE_LAYER(Convolution2d) +DECLARE_LAYER(DepthwiseConvolution2d) +DECLARE_LAYER(FakeQuantization) +DECLARE_LAYER(Floor) +DECLARE_LAYER(FullyConnected) +DECLARE_LAYER(Input) +DECLARE_LAYER(L2Normalization) +DECLARE_LAYER(MemCopy) +DECLARE_LAYER(Merger) +DECLARE_LAYER(Multiplication) +DECLARE_LAYER(Normalization) +DECLARE_LAYER(Output) +DECLARE_LAYER(Permute) +DECLARE_LAYER(Pooling2d) +DECLARE_LAYER(Reshape) +DECLARE_LAYER(ResizeBilinear) +DECLARE_LAYER(Softmax) +DECLARE_LAYER(Splitter) + +} |