IVGCVSW-3992 Add serialization support for ComparisonLayer
* Added serialization support and serialization-deserialization test
for Comparison
* Added backward compatibility tests for Equal and Greater, to make
sure they are serialized and deserialized as Comparison
* Refactored serialization tests and reduced code duplication by
taking advantage of operator==() recently added for Descriptors
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: Id0fd94ef4b17e4e51c8005e585ea3c47f9c1bd8d
diff --git a/src/armnnSerializer/Serializer.cpp b/src/armnnSerializer/Serializer.cpp
index 5c9855f..6122351 100644
--- a/src/armnnSerializer/Serializer.cpp
+++ b/src/armnnSerializer/Serializer.cpp
@@ -244,7 +244,13 @@
const armnn::ComparisonDescriptor& descriptor,
const char* name)
{
- throw armnn::UnimplementedException("SerializerVisitor::VisitComparisonLayer() is not implemented");
+ auto fbBaseLayer = CreateLayerBase(layer, serializer::LayerType::LayerType_Comparison);
+ auto fbDescriptor = serializer::CreateComparisonDescriptor(
+ m_flatBufferBuilder,
+ GetFlatBufferComparisonOperation(descriptor.m_Operation));
+
+ auto fbLayer = serializer::CreateComparisonLayer(m_flatBufferBuilder, fbBaseLayer, fbDescriptor);
+ CreateAnyLayer(fbLayer.o, serializer::Layer::Layer_ComparisonLayer);
}
// Build FlatBuffer for Constant Layer