IVGCVSW-3705 Add Channel Shuffle Front end and Ref Implementation
* Add front end
* Add reference workload
* Add unit tests
* Add Serializer and Deserializer
* Update ArmNN Versioning
Signed-off-by: Simon Obute <simon.obute@arm.com>
Change-Id: I9ac1f953af3974382eac8e8d62d794d2344e8f47
diff --git a/src/armnnSerializer/Serializer.cpp b/src/armnnSerializer/Serializer.cpp
index 195b416..9a3a270 100644
--- a/src/armnnSerializer/Serializer.cpp
+++ b/src/armnnSerializer/Serializer.cpp
@@ -302,6 +302,19 @@
CreateAnyLayer(fbCastLayer.o, serializer::Layer::Layer_CastLayer);
}
+void SerializerStrategy::SerializeChannelShuffleLayer(const armnn::IConnectableLayer* layer,
+ const armnn::ChannelShuffleDescriptor& descriptor,
+ const char* name)
+{
+ IgnoreUnused(name);
+ auto fbDescriptor = CreateChannelShuffleDescriptor(m_flatBufferBuilder,
+ descriptor.m_Axis,
+ descriptor.m_NumGroups);
+ auto fbBaseLayer = CreateLayerBase(layer, serializer::LayerType::LayerType_ChannelShuffle);
+ auto fbChannelShuffleLayer = serializer::CreateChannelShuffleLayer(m_flatBufferBuilder, fbBaseLayer, fbDescriptor);
+ CreateAnyLayer(fbChannelShuffleLayer.o, serializer::Layer::Layer_ChannelShuffleLayer);
+}
+
void SerializerStrategy::SerializeComparisonLayer(const armnn::IConnectableLayer* layer,
const armnn::ComparisonDescriptor& descriptor,
const char* name)
@@ -1997,6 +2010,15 @@
SerializeCastLayer(layer, name);
break;
}
+ case armnn::LayerType::ChannelShuffle :
+ {
+ const armnn::ChannelShuffleDescriptor& layerDescriptor =
+ static_cast<const armnn::ChannelShuffleDescriptor&>(descriptor);
+ SerializeChannelShuffleLayer(layer,
+ layerDescriptor,
+ name);
+ break;
+ }
case armnn::LayerType::Comparison :
{
const armnn::ComparisonDescriptor& layerDescriptor =