o
    
j                     @   s  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>?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@?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d3ZAd4d5 ZBd6d7 ZCd8d9 ZDd:S );   )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(   )GatherElementsrB   InstanceNormalizationLayerNormalizationBatchNormalizationTopKc                 C   s
   t | |S Nr   onnx_quantizernode rN   T/home/kuhnn/.local/lib/python3.10/site-packages/onnxruntime/quantization/registry.pyCreateDefaultOpQuantizer]   s   
rP   c                 C   sD   | j tjkrtnt}|j|v r||j | |}| r|S t| |S rJ   )moder'   
IntegerOpsIntegerOpsRegistryQLinearOpsRegistryop_typeshould_quantizer   )rL   rM   registryop_quantizerrN   rN   rO   CreateOpQuantizera   s   

rY   c                 C   s$   |j tv rt|j  | |S t| |S rJ   )rU   QDQRegistryr   rK   rN   rN   rO   CreateQDQQuantizerj   s   

r[   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'   CommonOpsRegistryrS   updaterT   rZ   rP   rY   r[   rN   rN   rN   rO   <module>   s    
	

	
	