aboutsummaryrefslogtreecommitdiff
path: root/src/armnnSerializer/Serializer.cpp
diff options
context:
space:
mode:
authorAron Virginas-Tar <Aron.Virginas-Tar@arm.com>2019-06-21 13:53:38 +0100
committerÁron Virginás-Tar <aron.virginas-tar@arm.com>2019-06-21 14:30:08 +0000
commitcb549301bc4c5a405e02c1f433537557423d2e36 (patch)
tree8f9bf05911c05e673e0b90b68c29164e47e8609c /src/armnnSerializer/Serializer.cpp
parent0dcffec80292cd2e0e7c2736fd3db63abd7c3f64 (diff)
downloadarmnn-cb549301bc4c5a405e02c1f433537557423d2e36.tar.gz
IVGCVSW-3321 Add serialization support for TransposeConvolution2dLayer
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: If0c8f3662d5e03696f97040abed784c0fbcdbc6f
Diffstat (limited to 'src/armnnSerializer/Serializer.cpp')
-rw-r--r--src/armnnSerializer/Serializer.cpp27
1 files changed, 26 insertions, 1 deletions
diff --git a/src/armnnSerializer/Serializer.cpp b/src/armnnSerializer/Serializer.cpp
index efadbb38ca..126247bb8c 100644
--- a/src/armnnSerializer/Serializer.cpp
+++ b/src/armnnSerializer/Serializer.cpp
@@ -952,7 +952,32 @@ void SerializerVisitor::VisitTransposeConvolution2dLayer(
const armnn::Optional<armnn::ConstTensor>& biases,
const char* name)
{
- throw UnimplementedException("SerializerVisitor::VisitTransposeConvolution2dLayer is not implemented");
+ auto fbBaseLayer = CreateLayerBase(layer, serializer::LayerType::LayerType_Convolution2d);
+ auto fbDescriptor = CreateTransposeConvolution2dDescriptor(m_flatBufferBuilder,
+ descriptor.m_PadLeft,
+ descriptor.m_PadRight,
+ descriptor.m_PadTop,
+ descriptor.m_PadBottom,
+ descriptor.m_StrideX,
+ descriptor.m_StrideY,
+ descriptor.m_BiasEnabled,
+ GetFlatBufferDataLayout(descriptor.m_DataLayout));
+
+ // weights & biases
+ auto fbWeightsConstTensorInfo = CreateConstTensorInfo(weights);
+ flatbuffers::Offset<serializer::ConstTensor> fbBiasesConstTensorInfo;
+ if (biases.has_value())
+ {
+ fbBiasesConstTensorInfo = CreateConstTensorInfo(biases.value());
+ }
+
+ auto fbLayer = CreateTransposeConvolution2dLayer(m_flatBufferBuilder,
+ fbBaseLayer,
+ fbDescriptor,
+ fbWeightsConstTensorInfo,
+ fbBiasesConstTensorInfo);
+
+ CreateAnyLayer(fbLayer.o, serializer::Layer::Layer_TransposeConvolution2dLayer);
}
fb::Offset<serializer::LayerBase> SerializerVisitor::CreateLayerBase(const IConnectableLayer* layer,