aboutsummaryrefslogtreecommitdiff
path: root/src/armnnSerializer/Serializer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/armnnSerializer/Serializer.cpp')
-rw-r--r--src/armnnSerializer/Serializer.cpp36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/armnnSerializer/Serializer.cpp b/src/armnnSerializer/Serializer.cpp
index 488dac6186..c9a3022b8d 100644
--- a/src/armnnSerializer/Serializer.cpp
+++ b/src/armnnSerializer/Serializer.cpp
@@ -218,6 +218,33 @@ void SerializerStrategy::SerializeArgMinMaxLayer(const armnn::IConnectableLayer
CreateAnyLayer(flatBufferLayer.o, serializer::Layer::Layer_ArgMinMaxLayer);
}
+void SerializerStrategy::SerializeBatchMatMulLayer(const armnn::IConnectableLayer* layer,
+ const armnn::BatchMatMulDescriptor& descriptor,
+ const char* name)
+{
+ IgnoreUnused(name);
+
+ // Create FlatBuffer BaseLayer
+ auto flatBufferBaseLayer = CreateLayerBase(layer, serializer::LayerType::LayerType_BatchMatMul);
+
+ // Create the FlatBuffer BatchMatMulDescriptor
+ auto flatBufferDescriptor = CreateBatchMatMulDescriptor(m_flatBufferBuilder,
+ descriptor.m_TransposeX,
+ descriptor.m_TransposeY,
+ descriptor.m_AdjointX,
+ descriptor.m_AdjointY,
+ GetFlatBufferDataLayout(descriptor.m_DataLayoutX),
+ GetFlatBufferDataLayout(descriptor.m_DataLayoutY));
+
+ // Create the FlatBuffer BatchMatMulLayer
+ auto flatBufferBatchMatMulLayer = CreateBatchMatMulLayer(m_flatBufferBuilder,
+ flatBufferBaseLayer,
+ flatBufferDescriptor);
+
+ // Add the AnyLayer to the FlatBufferLayers
+ CreateAnyLayer(flatBufferBatchMatMulLayer.o, serializer::Layer::Layer_BatchMatMulLayer);
+}
+
// Build FlatBuffer for BatchToSpaceNd Layer
void SerializerStrategy::SerializeBatchToSpaceNdLayer(const armnn::IConnectableLayer* layer,
const armnn::BatchToSpaceNdDescriptor& descriptor,
@@ -1971,6 +1998,15 @@ void SerializerStrategy::ExecuteStrategy(const armnn::IConnectableLayer* layer,
SerializeArgMinMaxLayer(layer, layerDescriptor, name);
break;
}
+ case armnn::LayerType::BatchMatMul:
+ {
+ const armnn::BatchMatMulDescriptor& layerDescriptor =
+ static_cast<const armnn::BatchMatMulDescriptor&>(descriptor);
+ SerializeBatchMatMulLayer(layer,
+ layerDescriptor,
+ name);
+ break;
+ }
case armnn::LayerType::BatchNormalization :
{
const armnn::BatchNormalizationDescriptor& layerDescriptor =