
    h                     J    S SK r SSKJrJrJrJrJr  SSKJr   " S S\5      r	g)    N   )TENSOR_NAME_QUANT_SUFFIXQuantizedValueQuantizedValueTypeattribute_to_kwarg	ms_domain   )QuantOperatorBasec                   4   ^  \ rS rSrU 4S jrU 4S jrSrU =r$ )QLinearPool   c                 $   > [         TU ]  X5        g )N)super__init__)selfonnx_quantizer	onnx_node	__class__s      d/var/www/fran/franai/venv/lib/python3.13/site-packages/onnxruntime/quantization/operators/pooling.pyr   QLinearPool.__init__   s    3    c                 L  > U R                   nU R                  R                  UR                  S   5      u  nnnnnU R                  R	                  US/5      u  nnnn	U(       a  Uc  [
        TU ]  5       $ UR                  S   [        -   n
[        UR                  S   U
UU[        R                  5      nXR                  R                  UR                  S   '   0 nUR                   H  nUR                  [        U5      5        M     [        US'   UR                   (       a  UR                   S-   OSn["        R$                  R&                  " SUR(                  -   US   US   US   UU/U
/U40 UD6nU	R+                  U5        U R                  =R,                  U	-  sl        g )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"   QLinearPool.quantize   s   yy NN33DKKNC	
 NN..taS9	
!" 2:7#%% #kk!n/GG!/KKN$$"
 >T**4;;q>: IMM,Y78 ($x48IIDII02%%$%a(!!$&q)! !!
 
 	U  E) r    )__name__
__module____qualname____firstlineno__r   r"   __static_attributes____classcell__)r   s   @r   r   r      s    48* 8*r   r   )
r(   quant_utilsr   r   r   r   r   base_operatorr
   r   r<   r   r   <module>rE      s     u u ,<*# <*r   