diff options
author | FrancisMurtagh <francis.murtagh@arm.com> | 2019-02-12 10:11:43 +0000 |
---|---|---|
committer | FrancisMurtagh <francis.murtagh@arm.com> | 2019-02-12 10:11:43 +0000 |
commit | 424951560f2948b49506f178352e788cbe680fd8 (patch) | |
tree | ac2b4d815f954ce799e85920648aec05a3f8bbda /src/armnn/QuantizerVisitor.cpp | |
parent | 8c1701a2d9c1da0e1decb2afdc2093aa88810242 (diff) | |
download | armnn-424951560f2948b49506f178352e788cbe680fd8.tar.gz |
IVGCVSW-2623 Support static quantization of DepthwiseConv2d
Change-Id: Iab0d5aed243aca921661e4d39770fe02b1330442
Signed-off-by: FrancisMurtagh <francis.murtagh@arm.com>
Diffstat (limited to 'src/armnn/QuantizerVisitor.cpp')
-rw-r--r-- | src/armnn/QuantizerVisitor.cpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/armnn/QuantizerVisitor.cpp b/src/armnn/QuantizerVisitor.cpp index 08384e285d..ae0d4387b3 100644 --- a/src/armnn/QuantizerVisitor.cpp +++ b/src/armnn/QuantizerVisitor.cpp @@ -177,6 +177,35 @@ void QuantizerVisitor::VisitConvolution2dLayer(const IConnectableLayer* layer, SetQuantizedInputConnections(layer, newLayer); } +void QuantizerVisitor::VisitDepthwiseConvolution2dLayer(const IConnectableLayer* layer, + const DepthwiseConvolution2dDescriptor& desc, + const ConstTensor& weights, + const Optional<ConstTensor>& biases, + const char* name) +{ + std::vector<uint8_t> weightsBacking; + ConstTensor qWeights = CreateQuantizedConst(weights, weightsBacking); + + IConnectableLayer* newLayer; + if (biases.has_value()) + { + std::vector<uint8_t> biasesBacking; + ConstTensor qBiases = CreateQuantizedConst(biases.value(), biasesBacking); + + newLayer = m_QuantizedNetwork->AddDepthwiseConvolution2dLayer(desc, + qWeights, + qBiases, + name); + } + else + { + newLayer = m_QuantizedNetwork->AddDepthwiseConvolution2dLayer(desc, qWeights, name); + } + + RecordLayer(layer, newLayer); + SetQuantizedInputConnections(layer, newLayer); +} + void QuantizerVisitor::VisitSoftmaxLayer(const IConnectableLayer* layer, const SoftmaxDescriptor& softmaxDescriptor, const char* name) |