
    zIg                        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* d dl+m,Z, d dl-m.Z. d dl/m0Z0m1Z1 d dl2m3Z3 d dl4m5Z5m6Z6 d dl7m8Z8m9Z9 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'e6d(e*d)ed*ed+ee1e,ee3e9d,Z?e?j}                  e<       i ded-eded"ed!ed)ed.ed*ed+ed/e0d%e%d0ede"d'e5d1ed2e8d3e(e(e(d4Z@d5 ZAd6 ZBd7 ZCy8)9   )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)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?   r(   rB   InstanceNormalization)LayerNormalizationBatchNormalizationc                     t        | |      S Nr   onnx_quantizernodes     ^/var/www/html/answerous/venv/lib/python3.12/site-packages/onnxruntime/quantization/registry.pyCreateDefaultOpQuantizerrM   Y   s    ^T22    c                     | j                   t        j                  k(  rt        nt        }|j
                  |v r( ||j
                     | |      }|j                         r|S t        | |      S rH   )moder'   
IntegerOpsIntegerOpsRegistryQLinearOpsRegistryop_typeshould_quantizer   )rJ   rK   registryop_quantizers       rL   CreateOpQuantizerrX   ]   sa    %3%8%8<L<W<W%W!]oH||x-x-ndC'')^T22rN   c                 p    |j                   t        v rt        |j                      | |      S t        | |      S rH   )rT   QDQRegistryr   rI   s     rL   CreateQDQQuantizerr[   f   s1    ||{"4<<(>>>400rN   N)D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   operators.poolingr   operators.qdq_base_operatorr   operators.resizer    r!   operators.softmaxr"   operators.splitr#   r$   operators.wherer%   r&   quant_utilsr'   CommonOpsRegistryrR   updaterS   rZ   rM   rX   r[    rN   rL   <module>rw      sw   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 ? i X i  X!" -#$ +*'.331rN   