diff options
author | Andre Ghattas <andre.ghattas@arm.com> | 2019-08-07 12:18:38 +0100 |
---|---|---|
committer | Matteo Martincigh <matteo.martincigh@arm.com> | 2019-09-04 09:41:41 +0000 |
commit | 23ae2eae1caefba4948e6afda154a66238b26c2a (patch) | |
tree | 084b6e7b45add57a363826d1088c7821fe93e9e9 /src/armnn/layers/Convolution2dLayer.cpp | |
parent | 9bb51d7c3668f6b2715735f286ffd89b727d6805 (diff) | |
download | armnn-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.cpp | 23 |
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 |