IVGCVSW-2644 Add Serializer & Deserializer for Softmax

Change-Id: Ifea2108e173d2b602162fe53b880a68e1c715510
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
diff --git a/src/armnnSerializer/Serializer.cpp b/src/armnnSerializer/Serializer.cpp
index 79ad7e1..ba4b369 100644
--- a/src/armnnSerializer/Serializer.cpp
+++ b/src/armnnSerializer/Serializer.cpp
@@ -119,6 +119,27 @@
     CreateAnyLayer(flatBufferMultiplicationLayer.o, serializer::Layer::Layer_MultiplicationLayer);
 }
 
+// Build FlatBuffer for Softmax Layer
+void SerializerVisitor::VisitSoftmaxLayer(const IConnectableLayer* layer,
+                                          const SoftmaxDescriptor& softmaxDescriptor,
+                                          const char* name)
+{
+    // Create FlatBuffer BaseLayer
+    auto flatBufferSoftmaxBaseLayer = CreateLayerBase(layer, serializer::LayerType::LayerType_Softmax);
+
+    // Create the FlatBuffer SoftmaxDescriptor
+    auto flatBufferSoftmaxDesc =
+        serializer::CreateSoftmaxDescriptor(m_flatBufferBuilder, softmaxDescriptor.m_Beta);
+
+    // Create the FlatBuffer SoftmaxLayer
+    auto flatBufferSoftmaxLayer =
+        serializer::CreateSoftmaxLayer(m_flatBufferBuilder,
+                                       flatBufferSoftmaxBaseLayer,
+                                       flatBufferSoftmaxDesc);
+
+    CreateAnyLayer(flatBufferSoftmaxLayer.o, serializer::Layer::Layer_SoftmaxLayer);
+}
+
 fb::Offset<serializer::LayerBase> SerializerVisitor::CreateLayerBase(const IConnectableLayer* layer,
                                                                      const serializer::LayerType layerType)
 {