From f92dfced4498f12b9315c0fa377ba7be8998b607 Mon Sep 17 00:00:00 2001 From: Jim Flynn Date: Thu, 2 May 2019 11:33:25 +0100 Subject: IVGCVSW-2833 Add Dynamic Quantization Change-Id: Iba91e3f3625639f01d66f81a9f3e419e0e285d66 Signed-off-by: Jim Flynn --- src/armnn/RangeTracker.hpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/armnn/RangeTracker.hpp') diff --git a/src/armnn/RangeTracker.hpp b/src/armnn/RangeTracker.hpp index 2e8b33ad0f..6662775e38 100644 --- a/src/armnn/RangeTracker.hpp +++ b/src/armnn/RangeTracker.hpp @@ -31,6 +31,21 @@ public: /// Query that there is an entry for a layer bool HasRanges(LayerGuid guid) const { return m_GuidToRangesMap.find(guid) != m_GuidToRangesMap.end(); } + /// Update min in RangeTracker with new_min if it is lower than current value + void RefineMin(LayerGuid guid, unsigned int slotIndex, float newMin); + + /// Update max in RangeTracker with new_max if it is greater than current value + void RefineMax(LayerGuid guid, unsigned int slotIndex, float newMax); + + /// Overwrite min and max in RangeTracker with newMin and newMax + void ResetMinMax(LayerGuid guid, unsigned int idx, float newMin, float newMax); + + void Reset(); + + void SetDynamicMode(bool flag) { m_DynamicMode = flag; } + + bool IsInDynamicMode() const { return m_DynamicMode; } + private: using MinMaxRanges = std::vector; @@ -39,6 +54,8 @@ private: /// Mapping from a layer Guid to an array of ranges for outputs std::unordered_map m_GuidToRangesMap; + + bool m_DynamicMode = false; }; } //namespace armnn \ No newline at end of file -- cgit v1.2.1