diff options
author | Aron 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 |
commit | cb549301bc4c5a405e02c1f433537557423d2e36 (patch) | |
tree | 8f9bf05911c05e673e0b90b68c29164e47e8609c /src/armnnSerializer/Serializer.cpp | |
parent | 0dcffec80292cd2e0e7c2736fd3db63abd7c3f64 (diff) | |
download | armnn-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.cpp | 27 |
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, |