diff options
author | Nattapat Chaimanowong <nattapat.chaimanowong@arm.com> | 2019-03-20 11:51:14 +0000 |
---|---|---|
committer | nattapat.chaimanowong <nattapat.chaimanowong@arm.com> | 2019-03-20 14:49:03 +0000 |
commit | 7ac07f355f4cb75a54ec423670b7078bd0ecb44d (patch) | |
tree | 5f28c73decbfe0221c2ecedc204f48a7c00884f0 /include/armnn | |
parent | 2a434a8a23d75fb62ac0cb3ecb83ba7aab89b8c6 (diff) | |
download | armnn-7ac07f355f4cb75a54ec423670b7078bd0ecb44d.tar.gz |
IVGCVSW-2858 Add support for QSymm16 quantization
Change-Id: Ia7c305c30c39ec0e9db447a461479be17fde250c
Signed-off-by: Nattapat Chaimanowong <nattapat.chaimanowong@arm.com>
Diffstat (limited to 'include/armnn')
-rw-r--r-- | include/armnn/INetworkQuantizer.hpp | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/include/armnn/INetworkQuantizer.hpp b/include/armnn/INetworkQuantizer.hpp index 5969fa4edf..54c1c889d3 100644 --- a/include/armnn/INetworkQuantizer.hpp +++ b/include/armnn/INetworkQuantizer.hpp @@ -6,19 +6,33 @@ #pragma once #include <armnn/INetwork.hpp> +#include <armnn/Types.hpp> namespace armnn { +struct QuantizerOptions +{ + QuantizerOptions() : m_ActivationFormat(DataType::QuantisedAsymm8) {} + QuantizerOptions(DataType activationFormat) : m_ActivationFormat(activationFormat) {} + + DataType m_ActivationFormat; +}; + using INetworkQuantizerPtr = std::unique_ptr<class INetworkQuantizer, void(*)(INetworkQuantizer* quantizer)>; /// Quantizer class Quantizes a float32 InputNetwork class INetworkQuantizer { public: - static INetworkQuantizer* CreateRaw(INetwork* inputNetwork); ///< Create Quantizer object and return raw pointer - static INetworkQuantizerPtr Create(INetwork* inputNetwork); ///< Create Quantizer object wrapped in unique_ptr - static void Destroy(INetworkQuantizer* quantizer); ///< Destroy Quantizer object + /// Create Quantizer object and return raw pointer + static INetworkQuantizer* CreateRaw(INetwork* inputNetwork, const QuantizerOptions& options = QuantizerOptions()); + + /// Create Quantizer object wrapped in unique_ptr + static INetworkQuantizerPtr Create(INetwork* inputNetwork, const QuantizerOptions& options = QuantizerOptions()); + + /// Destroy Quantizer object + static void Destroy(INetworkQuantizer* quantizer); /// Overrides the default quantization values for the input layer with the given id virtual void OverrideInputRange(LayerBindingId layerId, float min, float max) = 0; |