diff options
author | Matteo Martincigh <matteo.martincigh@arm.com> | 2019-02-11 13:24:38 +0000 |
---|---|---|
committer | Matteo Martincigh <matteo.martincigh@arm.com> | 2019-02-14 17:53:55 +0000 |
commit | 5b2159e43a5e078053e706883e3af44ae733b5b9 (patch) | |
tree | 6486b631f32c5f903ba609907ef3aa25002e3daa /src/armnn/QuantizerVisitor.cpp | |
parent | ec333914d5d38079083bcdb7fc88a54a19ebaa87 (diff) | |
download | armnn-5b2159e43a5e078053e706883e3af44ae733b5b9.tar.gz |
IVGCVSW-2620 Support static quantization of Constant
* Added VisitConstantLayer to QuantizerVisitor
* Added unit tests and refactored QuantizerTest.cpp
* Code cleanup
Change-Id: I118fd2be085fc98879c5cfaa09698a7c98ba13f0
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Diffstat (limited to 'src/armnn/QuantizerVisitor.cpp')
-rw-r--r-- | src/armnn/QuantizerVisitor.cpp | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/armnn/QuantizerVisitor.cpp b/src/armnn/QuantizerVisitor.cpp index 850a3c1fae..8e3265fb75 100644 --- a/src/armnn/QuantizerVisitor.cpp +++ b/src/armnn/QuantizerVisitor.cpp @@ -44,7 +44,7 @@ void QuantizerVisitor::SetQuantizedInputConnections(const IConnectableLayer* src newOutputSlot.Connect(newInputSlot); // Fetch the min/max ranges that were computed earlier - auto range = m_Ranges.GetRange(layerToFind.GetGuid(), i); + auto range = m_Ranges.GetRange(layerToFind.GetGuid(), slotIdx); auto qParams = ComputeQAsymmParams(8, range.first, range.second); // Set the quantization params @@ -242,4 +242,15 @@ void QuantizerVisitor::VisitSoftmaxLayer(const IConnectableLayer* layer, SetQuantizedInputConnections(layer, newLayer); } +void QuantizerVisitor::VisitConstantLayer(const IConnectableLayer* layer, + const ConstTensor& input, + const char* name) +{ + std::vector<uint8_t> inputBacking; + ConstTensor qInput = CreateQuantizedConst(input, inputBacking); + + IConnectableLayer* newLayer = m_QuantizedNetwork->AddConstantLayer(qInput, name); + RecordLayer(layer, newLayer); +} + } //namespace armnn |