IVGCVSW-2645 Add Serializer & Deserializer for Pooling2d
Change-Id: Iba41da3cccd539a0175f2ed0ff9a8b6a23c5fb6f
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Signed-off-by: Saoirse Stewart <saoirse.stewart@arm.com>
diff --git a/src/armnnDeserializeParser/DeserializeParser.hpp b/src/armnnDeserializeParser/DeserializeParser.hpp
index ddd02ab..1edb5a9 100644
--- a/src/armnnDeserializeParser/DeserializeParser.hpp
+++ b/src/armnnDeserializeParser/DeserializeParser.hpp
@@ -17,6 +17,7 @@
// Shorthands for deserializer types
using GraphPtr = const armnn::armnnSerializer::SerializedGraph *;
using TensorRawPtr = const armnn::armnnSerializer::TensorInfo *;
+ using PoolingDescriptor = const armnn::armnnSerializer::Pooling2dDescriptor *;
using TensorRawPtrVector = std::vector<TensorRawPtr>;
using LayerRawPtr = const armnn::armnnSerializer::LayerBase *;
using LayerBaseRawPtr = const armnn::armnnSerializer::LayerBase *;
@@ -50,6 +51,8 @@
static LayerBaseRawPtrVector GetGraphOutputs(const GraphPtr& graphPtr);
static LayerBaseRawPtr GetBaseLayer(const GraphPtr& graphPtr, unsigned int layerIndex);
static int32_t GetBindingLayerInfo(const GraphPtr& graphPtr, unsigned int layerIndex);
+ armnn::Pooling2dDescriptor GetPoolingDescriptor(PoolingDescriptor pooling2dDescriptor,
+ unsigned int layerIndex);
private:
// No copying allowed until it is wanted and properly implemented
@@ -65,6 +68,7 @@
void ParseUnsupportedLayer(unsigned int layerIndex);
void ParseAdd(unsigned int layerIndex);
void ParseMultiplication(unsigned int layerIndex);
+ void ParsePooling2d(unsigned int layerIndex);
void ParseSoftmax(unsigned int layerIndex);
void RegisterOutputSlotOfConnection(uint32_t connectionIndex, armnn::IOutputSlot* slot);
@@ -82,6 +86,7 @@
armnn::INetworkPtr m_Network;
GraphPtr m_Graph;
std::vector<LayerParsingFunction> m_ParserFunctions;
+ std::string m_layerName;
/// This holds the data of the file that was read in from CreateNetworkFromBinaryFile
/// Needed for m_Graph to point to