aboutsummaryrefslogtreecommitdiff
path: root/src/armnn/layers/Convolution2dLayer.cpp
diff options
context:
space:
mode:
authorAndre Ghattas <andre.ghattas@arm.com>2019-08-07 12:18:38 +0100
committerMatteo Martincigh <matteo.martincigh@arm.com>2019-09-04 09:41:41 +0000
commit23ae2eae1caefba4948e6afda154a66238b26c2a (patch)
tree084b6e7b45add57a363826d1088c7821fe93e9e9 /src/armnn/layers/Convolution2dLayer.cpp
parent9bb51d7c3668f6b2715735f286ffd89b727d6805 (diff)
downloadarmnn-23ae2eae1caefba4948e6afda154a66238b26c2a.tar.gz
IVGCVBENCH-1337 Added additional layer parameters to dot file and -v option
* Generic layer parameters now show up in dot file * Convolution layer parameters have also been added to dot file * ExecucteNetwork has an additional -v flag which generated dot file if there Change-Id: I210bb19b45384eb3639b7e488c7a89049fa6f18d Signed-off-by: Andre Ghattas <andre.ghattas@arm.com> Signed-off-by: Szilard Papp <szilard.papp@arm.com>
Diffstat (limited to 'src/armnn/layers/Convolution2dLayer.cpp')
-rw-r--r--src/armnn/layers/Convolution2dLayer.cpp23
1 files changed, 22 insertions, 1 deletions
diff --git a/src/armnn/layers/Convolution2dLayer.cpp b/src/armnn/layers/Convolution2dLayer.cpp
index 2c7a570790..4300d55e1e 100644
--- a/src/armnn/layers/Convolution2dLayer.cpp
+++ b/src/armnn/layers/Convolution2dLayer.cpp
@@ -9,7 +9,7 @@
#include <armnn/TypesUtils.hpp>
#include <backendsCommon/CpuTensorHandle.hpp>
#include <backendsCommon/WorkloadFactory.hpp>
-
+#include <string>
#include <DataLayoutIndexed.hpp>
using namespace armnnUtils;
@@ -20,6 +20,27 @@ namespace armnn
Convolution2dLayer::Convolution2dLayer(const Convolution2dDescriptor& param, const char* name)
: LayerWithParameters(1, 1, LayerType::Convolution2d, param, name)
{
+
+}
+
+void Convolution2dLayer::SerializeLayerParameters(ParameterStringifyFunction& fn) const
+{
+ //using DescriptorType = Parameters;
+ const std::vector<TensorShape>& inputShapes =
+ {
+ GetInputSlot(0).GetConnection()->GetTensorInfo().GetShape(),
+ m_Weight->GetTensorInfo().GetShape()
+ };
+ const TensorShape filterShape = inputShapes[1];
+ DataLayoutIndexed dataLayoutIndex(m_Param.m_DataLayout);
+ unsigned int filterWidth = filterShape[dataLayoutIndex.GetWidthIndex()];
+ unsigned int filterHeight = filterShape[dataLayoutIndex.GetHeightIndex()];
+ unsigned int outChannels = filterShape[0];
+
+ fn("OutputChannels",std::to_string(outChannels));
+ fn("FilterWidth",std::to_string(filterWidth));
+ fn("FilterHeight",std::to_string(filterHeight));
+ LayerWithParameters<Convolution2dDescriptor>::SerializeLayerParameters(fn);
}
std::unique_ptr<IWorkload> Convolution2dLayer::CreateWorkload(const Graph& graph, const IWorkloadFactory& factory) const