diff options
author | Jim Flynn <jim.flynn@arm.com> | 2019-05-02 11:33:25 +0100 |
---|---|---|
committer | Ruomei Yan <ruomei.yan@arm.com> | 2019-05-08 16:10:59 +0000 |
commit | f92dfced4498f12b9315c0fa377ba7be8998b607 (patch) | |
tree | 4015208a5493ea414babba76c18bc72b6dbef875 /src/armnn/RangeTracker.hpp | |
parent | a4247d5a50502811a6956dffd990c0254622b7e1 (diff) | |
download | armnn-f92dfced4498f12b9315c0fa377ba7be8998b607.tar.gz |
IVGCVSW-2833 Add Dynamic Quantization
Change-Id: Iba91e3f3625639f01d66f81a9f3e419e0e285d66
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
Diffstat (limited to 'src/armnn/RangeTracker.hpp')
-rw-r--r-- | src/armnn/RangeTracker.hpp | 17 |
1 files changed, 17 insertions, 0 deletions
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<MinMaxRange>; @@ -39,6 +54,8 @@ private: /// Mapping from a layer Guid to an array of ranges for outputs std::unordered_map<LayerGuid, MinMaxRanges> m_GuidToRangesMap; + + bool m_DynamicMode = false; }; } //namespace armnn
\ No newline at end of file |