diff options
author | Matteo Martincigh <matteo.martincigh@arm.com> | 2019-02-07 17:51:09 +0000 |
---|---|---|
committer | Matteo Martincigh <matteo.martincigh@arm.com> | 2019-02-08 12:23:05 +0000 |
commit | a8d572dc48f47e66cd7abd6ad9b2d3a0f40ea94b (patch) | |
tree | 5de7809a8fbc19d6d2a940a51a982bd633156945 /src/armnn/NetworkQuantizer.hpp | |
parent | e0a4ad8a8e6ef271883e8029985eeab16d838972 (diff) | |
download | armnn-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.hpp | 11 |
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 |