diff options
author | Jim Flynn <jim.flynn@arm.com> | 2019-02-14 09:56:36 +0000 |
---|---|---|
committer | Matteo Martincigh <matteo.martincigh@arm.com> | 2019-02-15 15:00:11 +0000 |
commit | e870bef8c93a3c711362b3530aa49c353f048d01 (patch) | |
tree | e2c63e9ef64b345c837ecfd656ecd42f14ac2221 /src/armnn/StaticRangeVisitor.cpp | |
parent | 43e7864cf81cd55fb53f8b98b4d387da859eae0d (diff) | |
download | armnn-e870bef8c93a3c711362b3530aa49c353f048d01.tar.gz |
IVGCVSW-2621 Add static quantization of Merger
Change-Id: I19f01698a6f9b361cd1737d76e6ec2020fab77a6
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
Diffstat (limited to 'src/armnn/StaticRangeVisitor.cpp')
-rw-r--r-- | src/armnn/StaticRangeVisitor.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/armnn/StaticRangeVisitor.cpp b/src/armnn/StaticRangeVisitor.cpp index cc1255e56e..44b05ca6cb 100644 --- a/src/armnn/StaticRangeVisitor.cpp +++ b/src/armnn/StaticRangeVisitor.cpp @@ -177,7 +177,24 @@ void StaticRangeVisitor::VisitConstantLayer(const IConnectableLayer* layer, min = std::min(min, inputValue); max = std::max(max, inputValue); } + SetRange(layer, 0, min, max); +} +void StaticRangeVisitor::VisitMergerLayer(const IConnectableLayer* layer, + const OriginsDescriptor& mergerDescriptor, + const char* name) +{ + float min = std::numeric_limits<float>::max(); + float max = std::numeric_limits<float>::lowest(); + for (unsigned int i = 0; i < layer->GetNumInputSlots(); ++i) + { + const IOutputSlot* outputSlot = layer->GetInputSlot(i).GetConnection(); + LayerGuid layerId = outputSlot->GetOwningLayerGuid(); + unsigned int slotIndex = outputSlot->CalculateIndexOnOwner(); + RangeTracker::MinMaxRange range = m_RangeTracker.GetRange(layerId, slotIndex); + min = std::min(min, range.first); + max = std::max(max, range.second); + } SetRange(layer, 0, min, max); } |