
     Ng                     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 )QLinearPoolc                 L    t                                          ||           d S )N)super__init__)selfonnx_quantizer	onnx_node	__class__s      f/var/www/html/ai-engine/env/lib/python3.11/site-packages/onnxruntime/quantization/operators/pooling.pyr   zQLinearPool.__init__   s#    33333    c                    | j         }| j                            |j        d                   \  }}}}}| j                            |dg          \  }}}}	|r| t                                                      S |j        d         t          z   }
t          |j        d         |
||t          j
                  }|| j        j        |j        d         <   i }|j        D ]$}|                    t          |                     %t          |d<   |j        r
|j        dz   nd}t#          j        j        d|j        z   |d         |d         |d         ||g|
g|fi |}|	                    |           | j        xj        |	z  c_        d S )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 N33DKNCC	
 N..taS99	
!"  	&2:77##%%% #k!n/GG!/KN$"
 "
 >T*4;q>:  	9 	9IMM,Y778888$x48IEDI002%$%a(!!$&q)! !!
 
 
 
 	U  E)    r   )__name__
__module____qualname__r   r    __classcell__)r   s   @r   r   r      sQ        4 4 4 4 48* 8* 8* 8* 8* 8* 8* 8* 8*r   r   )
r&   quant_utilsr   r   r   r   r   base_operatorr
   r    r   r   <module>r@      s     u u u u u u u u u u u u u u , , , , , ,<* <* <* <* <*# <* <* <* <* <*r   