.. index:: pair: page; Dequantize .. _doxid-dev_guide_op_dequantize: Dequantize ========== General ~~~~~~~ Dequantize operation converts a quantized (u8 or s8) tensor to a f32 tensor. It supports both per-tensor and per-channel asymmetric linear de-quantization. Rounding mode is library-implementation defined. For per-tensor de-quantization: .. math:: \dst_{i} = round((\src_{i} - zps) \times scale) For per-channel de-quantization, taking channel axis = 1 as an example: .. math:: dst_{\cdots,i,\cdots,\cdots} = (\src_{\cdots,i,\cdots,\cdots} - zps_i) \times scale_i, i \in {[0, ic-1]} where :math:`ic` is the number of channels. Operation attributes ~~~~~~~~~~~~~~~~~~~~ =================================================================================================================== ===================================================================== ======= ============================================================================ ========= Attribute Name De =================================================================================================================== ===================================================================== ======= ============================================================================ ========= :ref:`qtype ` Specifies which de-quantization type is used. string ``per_tensor`` (default), ``per_channel`` Optional :ref:`axis ` Specifies dimension on which per-channel de-quantization is applied. s64 A s64 value in the range of [-r, r-1] where r = rank(src), ``1`` by default Optional :ref:`scales ` Scalings applied on the src data. f32 A f32 list (only contain one element if qtype is ``per_tensor`` ) Required :ref:`zps ` Offset values that maps to float zero. s64 A s64 list (only contain one element if qtype is ``per_tensor`` ) Required =================================================================================================================== ===================================================================== ======= ============================================================================ ========= Execution arguments ~~~~~~~~~~~~~~~~~~~ The inputs and outputs must be provided according to below index order when constructing an operation. Inputs ------ ====== ======== ========= Index Argu ====== ======== ========= 0 ``src`` Required ====== ======== ========= Outputs ------- ====== ======== ========= Index Argu ====== ======== ========= 0 ``dst`` Required ====== ======== ========= Supported data types ~~~~~~~~~~~~~~~~~~~~ Dequantize operation supports the following data type combinations. ======= ==== Src D ======= ==== s8, u8 f32 ======= ==== .. note:: This operation is to support :ref:`int8 quantization ` model.