
    hO	                     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$ )QGlobalAveragePool   c                 $   > [         TU ]  X5        g )N)super__init__)selfonnx_quantizer	onnx_node	__class__s      e/var/www/fran/franai/venv/lib/python3.13/site-packages/onnxruntime/quantization/operators/gavgpool.pyr   QGlobalAveragePool.__init__   s    3    c                 v  > U R                   nUR                  S:X  d   eUR                  S   U R                  R                  ;  a  [
        TU ]  5       $ U R                  R                  UR                  S      nU R                  R                  UR                  S      nU R                  R                  UR                  S   5      u  nnnnnU(       a  UOUR                  nU(       a  UOUR                  n[        UR                  S   UR                  S   [        -   UU[        R                  5      n	XR                  R                  UR                  S   '   0 n
UR                   H  nU
R!                  [#        U5      5        M     [$        U
S'   SU
S'   UR&                  (       a  UR&                  S-   OSn[(        R*                  R,                  " SUR                  -   UR.                  UR                  UR                  UU/U	R.                  /U40 U
D6nU R                  =R0                  U/-  sl        g )NGlobalAveragePoolr   domainchannels_last_quant QLinear)nodeop_typeinput	quantizerquantized_value_mapr   quantize_get_quantization_paramsoutput
scale_namezp_namer   r   r   Input	attributeupdater   r   nameonnxhelper	make_nodeq_name	new_nodes)r   r   quantized_input_value
data_found output_scale_name_from_parameteroutput_zp_name_from_parameter_output_scale_nameoutput_zp_namequantized_output_valuekwargsr*   
qnode_nameqnoder   s                 r   r$   QGlobalAveragePool.quantize   s   yy||2222 ::a= B BB7#%% $ B B4::a= Q !% B B4::a= Q NN33DKKNC	
,) AK<PePpPp:D6J_JgJg!/KKNKKN55$$"
 >T**4;;q>:IMM,Y78 ($x"#-1YYTYY)B
%%$%,,%00%--! $**+
 
 	  UG+ r    )__name__
__module____qualname____firstlineno__r   r$   __static_attributes____classcell__)r   s   @r   r   r      s    43, 3,r   r   )
r-   quant_utilsr   r   r   r   r   base_operatorr
   r   r>   r   r   <module>rG      s     u u ,7,* 7,r   