diff options
author | David Monahan <david.monahan@arm.com> | 2023-07-25 12:08:10 +0100 |
---|---|---|
committer | David Monahan <david.monahan@arm.com> | 2023-07-25 11:49:01 +0000 |
commit | 616b22f52b169db10992fd70f4584365fd3db463 (patch) | |
tree | 5f4e4550848ac7c4800e6137466b3970c68565f4 /src/armnnSerializer/Serializer.cpp | |
parent | 79a06a59bafadf736ca53c4240e87f9bbb657260 (diff) | |
download | armnn-616b22f52b169db10992fd70f4584365fd3db463.tar.gz |
IVGCVSW-7884 - Add Tile to Serializer and Deserializer
* Added parsing functions to the serializer and deserializer
* Added Tile and its Descriptor to the ArmnnSchema.fbs
* Added a Unittest
Signed-off-by: David Monahan <david.monahan@arm.com>
Change-Id: I72e638d26038c9b118cd82f633af462fd19e2b34
Diffstat (limited to 'src/armnnSerializer/Serializer.cpp')
-rw-r--r-- | src/armnnSerializer/Serializer.cpp | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/armnnSerializer/Serializer.cpp b/src/armnnSerializer/Serializer.cpp index 39a42954a9..6cadb598a2 100644 --- a/src/armnnSerializer/Serializer.cpp +++ b/src/armnnSerializer/Serializer.cpp @@ -1440,6 +1440,27 @@ void SerializerStrategy::SerializeSwitchLayer(const armnn::IConnectableLayer* la CreateAnyLayer(fbSwitchLayer.o, serializer::Layer::Layer_SwitchLayer); } +void SerializerStrategy::SerializeTileLayer(const armnn::IConnectableLayer* layer, + const armnn::TileDescriptor& descriptor, + const char* name) +{ + IgnoreUnused(name); + + // Create FlatBuffer BaseLayer + auto flatBufferBaseLayer = CreateLayerBase(layer, serializer::LayerType::LayerType_Tile); + + auto flatBufferDesc = serializer::CreateTileDescriptor(m_flatBufferBuilder, + m_flatBufferBuilder.CreateVector(descriptor.m_Multiples)); + + // Create the FlatBuffer TileLayer + auto flatBufferLayer = serializer::CreateTileLayer(m_flatBufferBuilder, + flatBufferBaseLayer, + flatBufferDesc); + + // Add the AnyLayer to the FlatBufferLayers + CreateAnyLayer(flatBufferLayer.o, serializer::Layer::Layer_TileLayer); +} + void SerializerStrategy::SerializeTransposeConvolution2dLayer( const armnn::IConnectableLayer* layer, const armnn::TransposeConvolution2dDescriptor& descriptor, @@ -2425,6 +2446,13 @@ void SerializerStrategy::ExecuteStrategy(const armnn::IConnectableLayer* layer, SerializeSwitchLayer(layer, name); break; } + case armnn::LayerType::Tile: + { + const armnn::TileDescriptor& layerDescriptor = + static_cast<const armnn::TileDescriptor&>(descriptor); + SerializeTileLayer(layer, layerDescriptor, name); + break; + } case armnn::LayerType::Transpose: { const armnn::TransposeDescriptor& layerDescriptor = |