// // Copyright © 2017 Arm Ltd. All rights reserved. // SPDX-License-Identifier: MIT // #pragma once #include namespace armnn { using INetworkQuantizerPtr = std::unique_ptr; /// 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 /// Overrides the default quantization values for the input layer with the given id virtual void OverrideInputRange(LayerBindingId layerId, float min, float max) = 0; /// Extract final quantized network virtual INetworkPtr ExportNetwork() = 0; protected: virtual ~INetworkQuantizer() {} }; } //namespace armnn