aboutsummaryrefslogtreecommitdiff
path: root/src/armnn/NetworkQuantizer.hpp
diff options
context:
space:
mode:
authorMatteo Martincigh <matteo.martincigh@arm.com>2019-02-07 17:51:09 +0000
committerMatteo Martincigh <matteo.martincigh@arm.com>2019-02-08 12:23:05 +0000
commita8d572dc48f47e66cd7abd6ad9b2d3a0f40ea94b (patch)
tree5de7809a8fbc19d6d2a940a51a982bd633156945 /src/armnn/NetworkQuantizer.hpp
parente0a4ad8a8e6ef271883e8029985eeab16d838972 (diff)
downloadarmnn-a8d572dc48f47e66cd7abd6ad9b2d3a0f40ea94b.tar.gz
IVGCVSW-2607 Implement Input range override mechanism
* Added the OverrideInputRange method to the Quantizer API * Created OverrideInputRangeVisitor to implement the override mechanism * Moved the quantizer utility functions to the new NetworkQuantizerUtils files * Moved the map of quantization ranges out of the StaticRangeVisitor and into the NetworkQuantizer * Added unit tests * Code refactoring and cleanup Change-Id: I9c1d006c1b6a35fbc04584a832fbe489f8f9276d Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Diffstat (limited to 'src/armnn/NetworkQuantizer.hpp')
-rw-r--r--src/armnn/NetworkQuantizer.hpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/armnn/NetworkQuantizer.hpp b/src/armnn/NetworkQuantizer.hpp
index 5543b3a444..2f7d36533c 100644
--- a/src/armnn/NetworkQuantizer.hpp
+++ b/src/armnn/NetworkQuantizer.hpp
@@ -9,6 +9,8 @@
#include <armnn/INetworkQuantizer.hpp>
#include <armnn/Types.hpp>
+#include <unordered_map>
+
namespace armnn
{
@@ -17,10 +19,17 @@ class NetworkQuantizer : public INetworkQuantizer
public:
NetworkQuantizer(INetwork* inputNetwork) : m_InputNetwork(inputNetwork) {}
+ void OverrideInputRange(LayerBindingId layerId, float min, float max) override;
INetworkPtr ExportNetwork() override;
private:
+ using MinMaxRange = std::pair<float, float>;
+ using MinMaxRanges = std::vector<MinMaxRange>;
+
INetwork* m_InputNetwork;
+
+ /// Mapping from Guid to an array of ranges for outputs
+ std::unordered_map<LayerGuid, MinMaxRanges> m_GuidToRangesMap;
};
-} //namespace armnn \ No newline at end of file
+} //namespace armnn