blob: a77c7237512fc411d06807a6963251912c45df5d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
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)
}
|