Ë
    ÝÍ:j¢  ã            	       óÀ  — d dl mZmZ d dlmZ d dlmZ d dlmZ d dl	m
Z
 d dlmZ d dlmZmZmZ d dlmZmZ d d	lmZ d d
lmZmZ d dlmZ d dlmZmZ d dlmZ d dl m!Z!m"Z"m#Z# d dl$m%Z%m&Z& d dl'm(Z( d dl)m*Z*m+Z+ d dl,m-Z- d dl.m/Z/ d dl0m1Z1m2Z2 d dl3m4Z4 d dl5m6Z6m7Z7 d dl8m9Z9m:Z: d dl;m<Z< eeedœZ=ee!eedœZ>e>j                  e=«       i de“de“de“de#“de
“d e
“d!e“d"e“d#e“d$e“d%e&“d&e“d'e7“d(e+“d)e“d*e“d+e“e2e-ee4e:d,œ¥Z@e@j                  e=«       i de“d-e“de“d"e“d!e“d)e“d.e“d*e“d+e“d/e1“d%e%“d0e“d1e“d(e*“de"“d'e6“d2e“ee9e(e(e(ee/d3œ¥ZAd4„ ZBd5„ ZCd6„ ZDy7)8é   )ÚQDQRemovableActivationÚQLinearActivation)ÚQArgMax)ÚAttentionQuant©ÚQuantOperatorBase)ÚQLinearBinaryOp)ÚQLinearConcat)ÚConvIntegerÚQDQConvÚQLinearConv)ÚDirect8BitOpÚQDQDirect8BitOp)ÚEmbedLayerNormalizationQuant)ÚGatherQuantÚ	QDQGather)ÚQGlobalAveragePool)ÚQDQGemmÚQLinearGemm)Ú	LSTMQuant)ÚMatMulIntegerÚ	QDQMatMulÚQLinearMatMul)Ú
QDQMaxPoolÚQMaxPool)ÚQDQNormalization)ÚQDQPadÚQPad)ÚQLinearPool)ÚQDQOperatorBase)Ú	QDQResizeÚQResize)ÚQLinearSoftmax)ÚQDQSplitÚQSplit)ÚQDQWhereÚQLinearWhere)ÚQuantizationMode)ÚGatherÚ	TransposeÚEmbedLayerNormalization)ÚConvÚMatMulÚ	AttentionÚLSTMÚArgMaxr,   ÚGemmr-   ÚAddÚMulÚReluÚClipÚ	LeakyReluÚSigmoidÚMaxPoolÚGlobalAveragePoolÚSplitÚPadÚReshapeÚSqueezeÚ	Unsqueeze)ÚResizeÚAveragePoolÚConcatÚSoftmaxÚWhereÚConvTransposer*   r?   r@   ÚSlicer)   )ÚGatherElementsrC   ÚInstanceNormalizationÚLayerNormalizationÚBatchNormalizationÚTopKÚCumSumc                 ó   — t        | |«      S ©Nr   ©Úonnx_quantizerÚnodes     úv/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/onnxruntime/quantization/registry.pyÚCreateDefaultOpQuantizerrR   ^   s   € Ü˜^¨TÓ2Ð2ó    c                 óØ   — | j                   t        j                  k(  rt        nt        }|j
                  |v r( ||j
                     | |«      }|j                  «       r|S t        | |«      S rM   )Úmoder(   Ú
IntegerOpsÚIntegerOpsRegistryÚQLinearOpsRegistryÚop_typeÚshould_quantizer   )rO   rP   ÚregistryÚop_quantizers       rQ   ÚCreateOpQuantizerr]   b   sa   € Ø%3×%8Ñ%8Ô<L×<WÑ<WÒ%WÕ!Ô]o€HØ‡|�|�xÑØ-�x §¡Ñ-¨n¸dÓCˆØ×'Ñ'Ô)ØÐÜ˜^¨TÓ2Ð2rS   c                 óp   — |j                   t        v rt        |j                      | |«      S t        | |«      S rM   )rY   ÚQDQRegistryr    rN   s     rQ   ÚCreateQDQQuantizerr`   k   s1   € Ø‡|�|”{Ñ"Ü˜4Ÿ<™<Ñ(¨¸Ó>Ð>Ü˜>¨4Ó0Ð0rS   N)EÚoperators.activationr   r   Úoperators.argmaxr   Úoperators.attentionr   Úoperators.base_operatorr   Úoperators.binary_opr	   Úoperators.concatr
   Úoperators.convr   r   r   Úoperators.direct_q8r   r   Úoperators.embed_layernormr   Úoperators.gatherr   r   Úoperators.gavgpoolr   Úoperators.gemmr   r   Úoperators.lstmr   Úoperators.matmulr   r   r   Úoperators.maxpoolr   r   Úoperators.normr   Úoperators.padr   r   Úoperators.poolingr   Úoperators.qdq_base_operatorr    Úoperators.resizer!   r"   Úoperators.softmaxr#   Úoperators.splitr$   r%   Úoperators.wherer&   r'   Úquant_utilsr(   ÚCommonOpsRegistryrW   ÚupdaterX   r_   rR   r]   r`   © rS   rQ   ú<module>r|      s…  ðß KÝ %Ý /Ý 6Ý 0Ý +ß =Ñ =ß >Ý Cß 4Ý 2ß 0Ý %ß EÑ Eß 3Ý ,ß 'Ý *Ý 8ß 0Ý -ß -ß 3Ý )ð ØØ;ñÐ ð ØØØñ	Ð ð × Ñ Ð+Ô ,ðØˆgðà
ˆKðð ˆKðð ˆmð	ð
 
ˆ?ðð 
ˆ?ðð Ððð Ððð Ð"ðð Ð ðð ˆxðð Ð+ðð ˆVðð 
ˆ4ðð ˆ|ðð  ˆ|ð!ð" �ð#ð$ ØØØØò-Ð ð0 × Ñ Ð+Ô ,ðØ
ˆGðà�Wðð ˆGðð Ð"ð	ð
 Ð"ðð ˆðð �ðð ˆðð �ðð ˆiðð ˆzðð �?ðð ˆ_ðð 
ˆ6ðð ˆiðð  ˆXð!ð" ˆið#ð$  ØØ-Ø*Ø*ØØò1€ò83ò3ó1rS   