
    JTh*                     Z   S SK r S SKrS SKJrJr  S SKJrJr  S\	S\
4S jrS\R                  4S jrS\R                  4S	 jrS\R                  4S
 jrS\R                  4S jr\R"                  " SSSSS5      S\R                  4S j5       rS\R                  4S jr\R"                  " SSSSSSSSS5	      S\R                  4S j5       r\R"                  " SSSSSSSSS5	      S\R                  4S j5       r\R"                  " SSSS5      S\R                  4S j5       r\R"                  " S5      S\R                  4S j5       r\R"                  " SSSS5      S\R                  4S j5       r\R"                  " S5      S\R                  4S j5       r\R"                  " SSSSSSSS5      S\R                  4S j5       r   S"S\R                  4S jjr\R"                  " SSSSSS5      S\R                  4S j5       r\R"                  " SSSSSSS5       S#S\R                  4S jj5       rS\R                  4S jr\R"                  " SSSSS5      S\R                  4S j5       rS$S\R                  4S  jjr \R"                  " S5      S\R                  4S! j5       r!g)%    N)symbolic_helpersymbolic_opset9)	jit_utilsregistrationdomainversionc                    [         R                  " S5      n[        R                  " U5      n1 SknU H  u  pVU  SU 3n[        R                  " U5      (       d  M)  [
        R                  R                  Xq5      (       a  MO  XT;   a"  [
        R                  R                  SU 3XSS9  [
        R                  R                  XqU5        M     g )Nztorch.onnx.symbolic_caffe2>   catreluslicereshapesigmoid
avg_pool2d
dequantize
max_pool2dupsample_nearest2dquantize_per_tensor_empty_affine_quantizedz::zaten::T)custom)		importlibimport_moduleinspect
getmembers
isfunctionr   registryis_registered_opregister)r   r   modulequant_version_ops
aten_q_opsopfuncnames           R/var/www/auris/envauris/lib/python3.13/site-packages/torch/onnx/symbolic_caffe2.pyregister_quantized_opsr%   
   s    $$%ABF**62J &B4 d##L,A,A,R,R-
 -
 %%..RDM7 /  !!**4$? &    gc                    U[         R                  " UR                  5       S5      [         R                  " UR                  5       S5      S.nU R                  " SU40 UD6n[         R                  R                  U5        U$ )NY_scaleY_zero_point)axes_i	Y_scale_fY_zero_point_iz_caffe2::Int8Transpose)r   	_node_getnoder!   _quantized_opsadd)r'   inputaxes
quant_argsoutputs        r$   _permute_helperr6   (   si    $..uzz|YG)33EJJL.QJ
 TT*E@Z@F""&&v.Mr&   c                 "    / SQn[        XU5      $ )N)r            r6   r'   r2   r3   s      r$   	nchw2nhwcr=   3       D1T**r&   c                 "    / SQn[        XU5      $ )N)r   r9   r:   r8   r;   r<   s      r$   	nhwc2nchwr@   8   r>   r&   c                 h    U R                  SX5      n[        R                  R                  U5        U$ Nz_caffe2::WeightPrepackr!   r   r0   r1   )r'   weightbiasr5   s       r$   linear_prepackrF   =   s.     TT*F9F""&&v.Mr&   vfic                 x    UUS.nU R                   " SXU40 UD6n[        R                  R                  U5        U$ )Nr,   r-   z_caffe2::Int8FCrC   )r'   r2   rD   rE   scale
zero_pointkwargsr5   s           r$   linearrO   F   sD     $F TT#UDCFCF""&&v.Mr&   c                 j    U R                  SXU5      n[        R                  R                  U5        U$ rB   rC   )	r'   r2   rD   rE   stridepaddingdilationgroupsr5   s	            r$   conv_prepackrU   Q   s0     TT*E4@F""&&v.Mr&   isc
           	          UR                  5       S   SS n
UXU-   UUU
SUU	S.nU R                  " SXU40 UD6n[        R                  R	                  U5        U$ )Nshaper:   r9   NHWC	strides_ipads_idilations_igroup_i	kernels_iorder_sr,   r-   z_caffe2::Int8Convr/   r!   r   r0   r1   r'   r2   rD   rE   rQ   rR   rS   rT   rL   rM   kernel_sizerN   r5   s                r$   conv2drd   \   sp     ++-(1-K# $	F TT%udEfEF""&&v.Mr&   c
           	          UR                  5       S   SS n
UXU-   UUU
SUU	S.nU R                  " SXU40 UD6n[        R                  R	                  U5        U$ )NrX   r:   r9   rY   rZ   z_caffe2::Int8ConvRelura   rb   s                r$   conv2d_relurf   y   sp     ++-(1-K# $	F TT)5$I&IF""&&v.Mr&   c                 v    UUS.nU R                   " SX40 UD6n[        R                  R                  U5        U$ )NrK   z_caffe2::Int8AddrC   )r'   input_ainput_brL   rM   rN   r5   s          r$   r1   r1      sB     $F TT$gA&AF""&&v.Mr&   c                 V   U[         R                  ;  a  [        R                  " X5      $ [         R                  " UR                  5       S5      [         R                  " UR                  5       S5      S.nU R                  " SU40 UD6n[         R                  R                  U5        U$ )Nr)   r*   rK   z_caffe2::Int8Relu)r   r0   opset9r   r.   r/   r!   r1   )r'   r2   rN   r5   s       r$   r   r      s    O222{{1$$$..uzz|YG)33EJJL.QF TT%u77F""&&v.Mr&   tc                 v    UUS.nU R                   " SU40 UD6n[        R                  R                  U5        U$ )NrK   z_caffe2::Int8QuantizerC   )r'   r2   rL   rM   dtyperN   r5   s          r$   r   r      sB     $F TT)5;F;F""&&v.Mr&   c                 &    U R                  SU5      $ )Nz_caffe2::Int8Dequantize)r!   )r'   r2   s     r$   r   r      s    44)511r&   c	                     U$ N )	r'   r2   rX   rL   rM   rn   
pin_memorymemory_formatlayouts	            r$   r   r      s	     Lr&   c                    U[         R                  ;  a  [        R                  " XX#5      $ [         R                  " US5      nU[         R
                  " UR                  5       S5      [         R
                  " UR                  5       S5      S.n[        X5      nU R                  " SU40 UD6n[        X5      n[         R                  R                  U5        U$ )NrV   r)   r*   )output_size_ir,   r-   z_caffe2::Int8ResizeNearest)r   r0   rk   r   
_parse_argr.   r/   r=   r!   r@   r1   )r'   r2   output_sizealign_cornersscales_hscales_wrN   r5   s           r$   r   r      s     O222((;NN!,,[$?K$$..uzz|YG)33EJJL.QF
 aETT.@@Fq!F""&&v.Mr&   c           	         U[         R                  ;  a  [        R                  " XX#XEU5      $ UXD-   US   S[         R                  " UR                  5       S5      [         R                  " UR                  5       S5      S.n[        X5      nU R                  " SU40 UD6n[        X5      n[         R                  R                  U5        U$ )Nr   rY   r)   r*   r[   r\   kernel_ir`   r,   r-   z_caffe2::Int8MaxPool)
r   r0   rk   r   r.   r/   r=   r!   r@   r1   )	r'   r2   rc   rQ   rR   rS   	ceil_moderN   r5   s	            r$   r   r      s     O222  k7i
 	
 #N$..uzz|YG)33EJJL.QF aETT(%:6:Fq!F""&&v.Mr&   nonec           
         U[         R                  ;  a  [        R                  " U UUUUUUU5      $ UXD-   US   S[         R                  " UR                  5       S5      [         R                  " UR                  5       S5      S.n[        X5      nU R                  " SU40 UD6n	[        X	5      n	[         R                  R                  U	5        U	$ )Nr   rY   r)   r*   r~   z_caffe2::Int8AveragePool)
r   r0   rk   r   r.   r/   r=   r!   r@   r1   )
r'   r2   rc   rQ   rR   r   count_include_paddivisor_overriderN   r5   s
             r$   r   r     s     O222  	
 		
 #N$..uzz|YG)33EJJL.QF aETT,e>v>Fq!F""&&v.Mr&   c                 X   U[         R                  ;  a  [        R                  " XU5      $ [         R                  " UR                  5       S5      [         R                  " UR                  5       S5      S.nU R                  " SX40 UD6n[         R                  R                  U5        U$ )Nr)   r*   rK   z_caffe2::Int8Reshape)r   r0   rk   r   r.   r/   r!   r1   )r'   r2   rX   rN   r5   s        r$   r   r   '  s    O222~~a.. %..uzz|YG)33EJJL.QF TT(%A&AF""&&v.Mr&   c                    U[         R                  ;  a  [        R                  " XX#XE5      $ US:w  a  [	        S5      e[         R
                  " US5      n[         R
                  " US5      n[         R
                  " US5      nUUU[         R                  " UR                  5       S5      [         R                  " UR                  5       S5      S.nU R                  " SU40 UD6n[         R                  R                  U5        U$ )Nr:   z2ONNX quantized slice export only works for step 1.rI   r)   r*   )start_idx_i	end_idx_idim_ir,   r-   z_caffe2::Int8Slice)
r   r0   rk   r   RuntimeErrorrx   r.   r/   r!   r1   )r'   r2   dimstartendsteprN   r5   s           r$   r   r   4  s    O222||Ac#<<qyOPP&&uc2E

$
$S#
.C

$
$S#
.C $..uzz|YG)33EJJL.QF TT&88F""&&v.Mr&   c                    [         R                  " U5      nUS   nU[         R                  ;  a  [        R                  " XU5      $ [         R
                  " US5      nUS   R                  5       S   US   R                  5       S   S.nU R                  " S/UQ7SU0UD6n[         R                  R                  U5        U$ )Nr   rI   r)   r*   rK   z_caffe2::Int8Concataxis_i)	r   _unpack_listr0   rk   r
   rx   r/   r!   r1   )	r'   tensor_listr   rL   rM   tensorsr2   rN   r5   s	            r$   r
   r
   K  s    **;7GAJEO222zz!#..

$
$S#
.CQZ__&y1!!*//+N;F TT'H'H#HHF""&&v.Mr&   c                     U[         R                  ;  a  [        R                  " X5      $ SnSnUUS.nU R                  " SU40 UD6n[         R                  R                  U5        U$ )Ng      p?r   rK   z_caffe2::Int8Sigmoid)r   r0   rk   r   r!   r1   )r'   r2   	out_scalerM   rN   r5   s         r$   r   r   [  si    O222~~a'' IJ$F TT(%:6:F""&&v.Mr&   )NNNrq   )NN)"r   r   
torch.onnxr   r   rk   torch.onnx._internalr   r   strintr%   GraphContextr6   r=   r@   rF   
parse_argsrO   rU   rd   rf   r1   r   r   r   r   r   r   r   r   r   r
   r   rr   r&   r$   <module>r      sE     A 8@3 @ @<y-- +'' +
+'' +
i,,  Cc34i$$  5 Cc4tS#sK L8 Cc4tS#sK L8 Cc3/9!!  0 C 	I"" 	 !	 Cc3/911  0 C 2)(( 2 !2 Cc3S#sC D$ 0 CtT4= >8 CtT3VD !! E!H
y%% 
 Cc34Y##  5,9!!   C y%%  !r&   