§
    kŠtjO	  ã                   ó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      €úi/var/www/html/CA-Chatbot/venv/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Ý‘7”7×#Ò#Ñ%Ô%Ð%à $¤Ô BÀ4Ä:ÈaÄ=Ô QÐð !%¤Ô BÀ4Ä:ÈaÄ=Ô QÐð ŒN×3Ò3°D´KÀ´NÑCÔCñ	
ØØ,Ø)ØØð AKÐpÐ<Ð<ÐPeÔPpÐØ:DÐgÐ6Ð6ÐJ_ÔJgˆÝ!/ØŒK˜ŒNØŒK˜ŒNÕ5Ñ5ØØÝÔ$ñ"
ô "
Ðð >TˆŒÔ*¨4¬;°q¬>Ñ:àˆØœð 	9ð 	9ˆIØ�MŠMÕ,¨YÑ7Ô7Ñ8Ô8Ð8Ð8Ý$ˆˆxÑØ"#ˆˆÑØ-1¬YÐ>�T”Y Ñ)Ð)¸Bˆ
å”Ô%Ø˜œÑ$à%Ô,Ø%Ô0Ø%Ô-Ø!Øðð $Ô*Ð+Øð
ð 
ð ð
ð 
ˆð 	ŒÐ Ô  U GÑ+Ð Ô Ð Ð 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   