diff options
Diffstat (limited to 'include/armnn/INetworkQuantizer.hpp')
-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; |