From 389aa70c8a24fa2faf33df5f8cd9a99b0fabe971 Mon Sep 17 00:00:00 2001 From: Aron Virginas-Tar Date: Fri, 21 Jun 2019 15:25:19 +0100 Subject: IVGCVSW-3322 Add Quantizer support for TransposeConvolution2DLayer Signed-off-by: Aron Virginas-Tar Change-Id: I26997d7770585055b2b3256baad2800a4c5ed7e8 --- src/armnn/QuantizerVisitor.cpp | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'src/armnn/QuantizerVisitor.cpp') diff --git a/src/armnn/QuantizerVisitor.cpp b/src/armnn/QuantizerVisitor.cpp index ef6b068145..292924c8e4 100644 --- a/src/armnn/QuantizerVisitor.cpp +++ b/src/armnn/QuantizerVisitor.cpp @@ -446,4 +446,32 @@ void QuantizerVisitor::VisitSubtractionLayer(const IConnectableLayer* layer, SetQuantizedInputConnections(layer, newLayer); } +void QuantizerVisitor::VisitTransposeConvolution2dLayer(const IConnectableLayer* layer, + const TransposeConvolution2dDescriptor& descriptor, + const ConstTensor& weights, + const Optional& biases, + const char* name) +{ + // quantize weights + std::vector weightsBacking; + ConstTensor qWeights = CreateQuantizedConst(weights, weightsBacking); + + // quantize biases + std::vector biasesBacking; + Optional optionalQBiases; + if (biases.has_value()) + { + ConstTensor qBiases = CreateQuantizedBias(layer, qWeights, biases, biasesBacking); + optionalQBiases = Optional(qBiases); + } + + IConnectableLayer* newLayer = m_QuantizedNetwork->AddTransposeConvolution2dLayer(descriptor, + qWeights, + optionalQBiases, + name); + + RecordLayer(layer, newLayer); + SetQuantizedInputConnections(layer, newLayer); +} + } //namespace armnn -- cgit v1.2.1