
    `i                     F    S SK r SSKJr  SSKJrJrJrJr   " S S\5      rg)    N   )QuantOperatorBase   )attribute_to_kwarg	ms_domainQuantizedValueQuantizedValueTypec                   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      p/var/www/html/ai-image-ml/venv/lib/python3.13/site-packages/onnxruntime_tools/quantization/operators/gavgpool.pyr   QGlobalAveragePool.__init__   s    3    c                 h  > 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  p4n  nU(       a  UOUR                  nU(       a  UOUR                  n[        UR                  S   UR                  S   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$                  S:w  a  UR$                  S-   OSn[&        R(                  R*                  " SUR                  -   UR,                  UR                  UR                  Xx/U	R,                  /U40 U
D6nU R                  =R.                  U/-  sl        g )	NGlobalAveragePoolr   
_quantizeddomainchannels_last _quantQLinear)nodeop_typeinput	quantizerquantized_value_mapr   quantize_get_quantization_paramsoutput
scale_namezp_namer   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 3343 ::a= B BB7#%% $ B B4::a= Q !% B B4::a= QNN33DKKNC 	Z
6SUVXY AK<PePpPp:D6J_JgJg!/AAQ]@]_p0>@R@X@X"Z=S**4;;q>:IMM,Y78 ($x"#-1YY"_TYY)"
%%i$,,&>!((*?*J*JLaLiLiA
 #))*JB ;AB 	  UG+ r    )__name__
__module____qualname____firstlineno__r   r$   __static_attributes____classcell__)r   s   @r   r   r      s    4, ,r   r   )	r-   base_operatorr   quant_utilsr   r   r   r	   r   r>   r   r   <module>rG      s     , [ [#,* #,r   