From a9a1cf117072b8aa81e27bab4d1d3e356d8ea51d Mon Sep 17 00:00:00 2001 From: Nattapat Chaimanowong Date: Mon, 3 Dec 2018 16:06:49 +0000 Subject: IVGCVSW-2315 Add DebugLayer and no-op factory method Change-Id: I5455b720565248ff94278e76887d63f8434a7b58 --- src/armnn/layers/DebugLayer.cpp | 46 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 src/armnn/layers/DebugLayer.cpp (limited to 'src/armnn/layers/DebugLayer.cpp') diff --git a/src/armnn/layers/DebugLayer.cpp b/src/armnn/layers/DebugLayer.cpp new file mode 100644 index 0000000000..c407643742 --- /dev/null +++ b/src/armnn/layers/DebugLayer.cpp @@ -0,0 +1,46 @@ +// +// Copyright © 2017 Arm Ltd. All rights reserved. +// SPDX-License-Identifier: MIT +// +#include "DebugLayer.hpp" + +#include "LayerCloneBase.hpp" + +#include +#include + +namespace armnn +{ + +DebugLayer::DebugLayer(const char* name) : Layer(1, 1, LayerType::Debug, name) +{} + +std::unique_ptr DebugLayer::CreateWorkload(const Graph& graph, + const IWorkloadFactory& factory) const +{ + DebugQueueDescriptor descriptor; + + return factory.CreateDebug(descriptor, PrepInfoAndDesc(descriptor, graph)); +} + +DebugLayer* DebugLayer::Clone(Graph& graph) const +{ + return CloneBase(graph, GetName()); +} + +void DebugLayer::ValidateTensorShapesFromInputs() +{ + VerifyLayerConnections(1, CHECK_LOCATION()); + + std::vector inferredShapes = InferOutputShapes({ + GetInputSlot(0).GetConnection()->GetTensorInfo().GetShape() }); + + BOOST_ASSERT(inferredShapes.size() == 1); + + ConditionalThrowIfNotEqual( + "DebugLayer: TensorShape set on OutputSlot[0] does not match the inferred shape.", + GetOutputSlot(0).GetTensorInfo().GetShape(), + inferredShapes[0]); +} + +} // namespace armnn -- cgit v1.2.1