
     NgO	                     R    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	dS )    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 )QGlobalAveragePoolc                 L    t                                          ||           d S )N)super__init__)selfonnx_quantizer	onnx_node	__class__s      g/var/www/html/ai-engine/env/lib/python3.11/site-packages/onnxruntime/quantization/operators/gavgpool.pyr   zQGlobalAveragePool.__init__   s#    33333    c                    | j         }|j        dk    sJ |j        d         | j        j        vr t                                                      S | j        j        |j        d                  }| j        j        |j        d                  }| j                            |j        d                   \  }}}}}|r|n|j	        }|r|n|j
        }t          |j        d         |j        d         t          z   ||t          j                  }	|	| j        j        |j        d         <   i }
|j        D ]$}|
                    t#          |                     %t$          |
d<   d|
d<   |j        r
|j        dz   nd}t)          j        j        d|j        z   |j        |j	        |j
        ||g|	j        g|fi |
}| j        xj        |gz  c_        d S )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"   zQGlobalAveragePool.quantize   s   y|22222 :a= BBB77##%%% $ B4:a= Q !% B4:a= Q N33DKNCC	
,) AKp<<PePp:Dg66J_Jg!/KNKN55$"
 "
 >T*4;q>: 	9 	9IMM,Y778888$x"#-1Y>TY))B
%$%,%0%-! $*+
 
 
 
 	  UG+    r   )__name__
__module____qualname__r   r"   __classcell__)r   s   @r   r   r      sQ        4 4 4 4 43, 3, 3, 3, 3, 3, 3, 3, 3,r   r   )
r+   quant_utilsr   r   r   r   r   base_operatorr
   r    r   r   <module>rB      s     u u u u u u u u u u u u u u , , , , , ,7, 7, 7, 7, 7,* 7, 7, 7, 7, 7,r   