Ë
    ÝÍ:jª  ã                   óJ   — d dl Z ddlmZmZmZmZmZ ddlmZ  G d„ de«      Z	y)é    Né   )ÚTENSOR_NAME_QUANT_SUFFIXÚQuantizedValueÚQuantizedValueTypeÚattribute_to_kwargÚ	ms_domainé   )ÚQuantOperatorBasec                   ó(   ‡ — e Zd Zˆ fd„Zˆ fd„Zˆ xZS )ÚQLinearPoolc                 ó&   •— t         ‰| �  ||«       y )N)ÚsuperÚ__init__)ÚselfÚonnx_quantizerÚ	onnx_nodeÚ	__class__s      €ú/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/onnxruntime/quantization/operators/pooling.pyr   zQLinearPool.__init__   s   ø€ Ü‰Ñ˜¨Õ3ó    c                 ó2  •— | j                   }| j                  j                  |j                  d   «      \  }}}}}| j                  j	                  |dg«      \  }}}}	|r|€t
        ‰| �  «       S |j                  d   t        z   }
t        |j                  d   |
||t        j                  «      }|| j                  j                  |j                  d   <   i }|j                  D ]  }|j                  t        |«      «       Œ t        |d<   |j                   r|j                   dz   nd}t#        j$                  j&                  d|j(                  z   |d   |d   |d   ||g|
g|fi |¤Ž}|	j+                  |«       | j                  xj,                  |	z  c_        y )Nr   ÚdomainÚ_quantÚ ÚQLinear)ÚnodeÚ	quantizerÚ_get_quantization_paramsÚoutputÚquantize_activationr   Úquantizer   r   r   ÚInputÚquantized_value_mapÚ	attributeÚupdater   r   ÚnameÚonnxÚhelperÚ	make_nodeÚop_typeÚappendÚ	new_nodes)r   r   Ú
data_foundÚoutput_scale_nameÚoutput_zp_nameÚ_Úquantized_input_namesÚinput_zero_point_namesÚinput_scale_namesÚnodesÚqlinear_output_nameÚquantized_output_valueÚkwargsr#   Úqlinear_node_nameÚqnoder   s                   €r   r    zQLinearPool.quantize   s£  ø€ Ø�y‰yˆð �N‰N×3Ñ3°D·K±KÀ±NÓCñ	
ØØØØØð �N‰N×.Ñ.¨t°a°SÓ9ñ	
Ø!Ø"ØØñ Ð2Ð:Ü‘7Ñ#Ó%Ð%ð #Ÿk™k¨!™nÔ/GÑGÐÜ!/Ø�K‰K˜‰NØØØÜ×$Ñ$ó"
Ðð >Tˆ�‰×*Ñ*¨4¯;©;°q©>Ñ:ð ˆØŸ™ò 	9ˆIØ�M‰MÔ,¨YÓ7Õ8ð	9ä$ˆˆxÑØ48·I²I˜DŸI™I¨Ò0À2ÐÜ—‘×%Ñ%Ø˜Ÿ™Ñ$à% aÑ(Ø! !Ñ$Ø& qÑ)Ø!Øðð !Ð!Øñ
ð ñ
ˆð 	�‰�UÔØ�‰× Ò  EÑ)Ö r   )Ú__name__Ú
__module__Ú__qualname__r   r    Ú__classcell__)r   s   @r   r   r      s   ø„ ô4÷8*ð 8*r   r   )
r&   Úquant_utilsr   r   r   r   r   Úbase_operatorr
   r   © r   r   ú<module>r@      s   ðÛ ç uÕ uÝ ,ô<*Ð#õ <*r   