aboutsummaryrefslogtreecommitdiff
path: root/src/armnn/test/TestLayerVisitor.hpp
diff options
context:
space:
mode:
authorFrancisMurtagh <francis.murtagh@arm.com>2019-01-28 14:03:21 +0000
committerFrancisMurtagh <francis.murtagh@arm.com>2019-01-28 14:03:21 +0000
commit1306b194dc9c480ade79f4cf60249b0e5aa61d69 (patch)
treedc177650b6d48e31b958fe0098e607d79cc02fbb /src/armnn/test/TestLayerVisitor.hpp
parenta0d56c77a53f5f991565041927003ce7460730ce (diff)
downloadarmnn-1306b194dc9c480ade79f4cf60249b0e5aa61d69.tar.gz
IVGCVSW-2548 Add the TestLayerVisitor class
* Add abstract base class TestLayerVisitor Change-Id: Id453f3ad9721f3680166a41b75a1880cf20032f7
Diffstat (limited to 'src/armnn/test/TestLayerVisitor.hpp')
-rw-r--r--src/armnn/test/TestLayerVisitor.hpp181
1 files changed, 181 insertions, 0 deletions
diff --git a/src/armnn/test/TestLayerVisitor.hpp b/src/armnn/test/TestLayerVisitor.hpp
new file mode 100644
index 0000000000..16227fb7f5
--- /dev/null
+++ b/src/armnn/test/TestLayerVisitor.hpp
@@ -0,0 +1,181 @@
+//
+// Copyright © 2017 Arm Ltd. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+#pragma once
+
+#include <armnn/ILayerVisitor.hpp>
+
+namespace armnn
+{
+// Abstract base class with do nothing implementations for all layer visit methods
+class TestLayerVisitor : public ILayerVisitor
+{
+protected:
+ virtual ~TestLayerVisitor() {};
+
+ void CheckLayerName(const char* name);
+
+private:
+ const char* m_LayerName;
+
+public:
+ explicit TestLayerVisitor(const char* name) : m_LayerName(name) {};
+
+ virtual void VisitInputLayer(const IConnectableLayer* layer,
+ LayerBindingId id,
+ const char* name = nullptr) {};
+
+ virtual void VisitConvolution2dLayer(const IConnectableLayer* layer,
+ const Convolution2dDescriptor& convolution2dDescriptor,
+ const ConstTensor& weights,
+ const char* name = nullptr) {};
+
+ virtual void VisitConvolution2dLayer(const IConnectableLayer* layer,
+ const Convolution2dDescriptor& convolution2dDescriptor,
+ const ConstTensor& weights,
+ const ConstTensor& biases,
+ const char* name = nullptr) {};
+
+ virtual void VisitDepthwiseConvolution2dLayer(const IConnectableLayer* layer,
+ const DepthwiseConvolution2dDescriptor& convolution2dDescriptor,
+ const ConstTensor& weights,
+ const char* name = nullptr) {};
+
+ virtual void VisitDepthwiseConvolution2dLayer(const IConnectableLayer* layer,
+ const DepthwiseConvolution2dDescriptor& convolution2dDescriptor,
+ const ConstTensor& weights,
+ const ConstTensor& biases,
+ const char* name = nullptr) {};
+
+ virtual void VisitDetectionPostProcessLayer(const IConnectableLayer* layer,
+ const DetectionPostProcessDescriptor& descriptor,
+ const char* name = nullptr) {};
+
+ virtual void VisitFullyConnectedLayer(const IConnectableLayer* layer,
+ const FullyConnectedDescriptor& fullyConnectedDescriptor,
+ const ConstTensor& weights,
+ const char* name = nullptr) {};
+
+ virtual void VisitFullyConnectedLayer(const IConnectableLayer* layer,
+ const FullyConnectedDescriptor& fullyConnectedDescriptor,
+ const ConstTensor& weights,
+ const ConstTensor& biases,
+ const char* name = nullptr) {};
+
+ virtual void VisitPermuteLayer(const IConnectableLayer* layer,
+ const PermuteDescriptor& permuteDescriptor,
+ const char* name = nullptr) {};
+
+ virtual void VisitBatchToSpaceNdLayer(const IConnectableLayer* layer,
+ const BatchToSpaceNdDescriptor& batchToSpaceNdDescriptor,
+ const char* name = nullptr) {};
+
+ virtual void VisitPooling2dLayer(const IConnectableLayer* layer,
+ const Pooling2dDescriptor& pooling2dDescriptor,
+ const char* name = nullptr) {};
+
+ virtual void VisitActivationLayer(const IConnectableLayer* layer,
+ const ActivationDescriptor& activationDescriptor,
+ const char* name = nullptr) {};
+
+ virtual void VisitNormalizationLayer(const IConnectableLayer* layer,
+ const NormalizationDescriptor& normalizationDescriptor,
+ const char* name = nullptr) {};
+
+ virtual void VisitSoftmaxLayer(const IConnectableLayer* layer,
+ const SoftmaxDescriptor& softmaxDescriptor,
+ const char* name = nullptr) {};
+
+ virtual void VisitSplitterLayer(const IConnectableLayer* layer,
+ const ViewsDescriptor& splitterDescriptor,
+ const char* name = nullptr) {};
+
+ virtual void VisitMergerLayer(const IConnectableLayer* layer,
+ const OriginsDescriptor& mergerDescriptor,
+ const char* name = nullptr) {};
+
+ virtual void VisitAdditionLayer(const IConnectableLayer* layer,
+ const char* name = nullptr) {};
+
+ virtual void VisitMultiplicationLayer(const IConnectableLayer* layer,
+ const char* name = nullptr) {};
+
+ virtual void VisitBatchNormalizationLayer(const IConnectableLayer* layer,
+ const BatchNormalizationDescriptor& desc,
+ const ConstTensor& mean,
+ const ConstTensor& variance,
+ const ConstTensor& beta,
+ const ConstTensor& gamma,
+ const char* name = nullptr) {};
+
+ virtual void VisitResizeBilinearLayer(const IConnectableLayer* layer,
+ const ResizeBilinearDescriptor& resizeDesc,
+ const char* name = nullptr) {};
+
+ virtual void VisitL2NormalizationLayer(const IConnectableLayer* layer,
+ const L2NormalizationDescriptor& desc,
+ const char* name = nullptr) {};
+
+ virtual void VisitConstantLayer(const IConnectableLayer* layer,
+ const ConstTensor& input,
+ const char* name = nullptr) {};
+
+ virtual void VisitReshapeLayer(const IConnectableLayer* layer,
+ const ReshapeDescriptor& reshapeDescriptor,
+ const char* name = nullptr) {};
+
+ virtual void VisitSpaceToBatchNdLayer(const IConnectableLayer* layer,
+ const SpaceToBatchNdDescriptor& spaceToBatchNdDescriptor,
+ const char* name = nullptr) {};
+
+ virtual void VisitFloorLayer(const IConnectableLayer* layer,
+ const char* name = nullptr) {};
+
+ virtual void VisitOutputLayer(const IConnectableLayer* layer,
+ LayerBindingId id,
+ const char* name = nullptr) {};
+
+ virtual void VisitLstmLayer(const IConnectableLayer* layer,
+ const LstmDescriptor& descriptor,
+ const LstmInputParams& params,
+ const char* name = nullptr) {};
+
+ virtual void VisitDivisionLayer(const IConnectableLayer* layer,
+ const char* name = nullptr) {};
+
+ virtual void VisitSubtractionLayer(const IConnectableLayer* layer,
+ const char* name = nullptr) {};
+
+ virtual void VisitMaximumLayer(const IConnectableLayer* layer,
+ const char* name = nullptr) {};
+
+ virtual void VisitMeanLayer(const IConnectableLayer* layer,
+ const MeanDescriptor& meanDescriptor,
+ const char* name = nullptr) {};
+
+ virtual void VisitPadLayer(const IConnectableLayer* layer,
+ const PadDescriptor& padDescriptor,
+ const char* name = nullptr) {};
+
+ virtual void VisitStridedSliceLayer(const IConnectableLayer* layer,
+ const StridedSliceDescriptor& stridedSliceDescriptor,
+ const char* name = nullptr) {};
+
+ virtual void VisitMinimumLayer(const IConnectableLayer* layer,
+ const char* name = nullptr) {};
+
+ virtual void VisitGreaterLayer(const IConnectableLayer* layer,
+ const char* name = nullptr) {};
+
+ virtual void VisitEqualLayer(const IConnectableLayer* layer,
+ const char* name = nullptr) {};
+
+ virtual void VisitRsqrtLayer(const IConnectableLayer* layer,
+ const char* name = nullptr) {};
+
+ virtual void VisitGatherLayer(const IConnectableLayer* layer,
+ const char* name = nullptr) {};
+};
+
+} //namespace armnn