aboutsummaryrefslogtreecommitdiff
path: root/src/armnn/RangeTracker.hpp
diff options
context:
space:
mode:
authorJim Flynn <jim.flynn@arm.com>2019-05-02 11:33:25 +0100
committerRuomei Yan <ruomei.yan@arm.com>2019-05-08 16:10:59 +0000
commitf92dfced4498f12b9315c0fa377ba7be8998b607 (patch)
tree4015208a5493ea414babba76c18bc72b6dbef875 /src/armnn/RangeTracker.hpp
parenta4247d5a50502811a6956dffd990c0254622b7e1 (diff)
downloadarmnn-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.hpp17
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