
    Si.                    F    S SK Jr  S SKrS SKJr  S SKJr   " S S\5      rg)    )annotationsN)OpRun)col2im_naive_implementationc                  0    \ rS rSr         SS jrSrg)ConvTranspose   Nc                
   Uc  UR                   SS   Vs/ s H  nSPM     nnUc  UR                   SS  nUc#  UR                   SS   Vs/ s H  nSPM     snS-  nUc  UR                   SS   Vs/ s H  nSPM     nnU
c-  US;  a'  [        S[        U5      -  5       Vs/ s H  nSPM     n
nU
Gc.  U	c8  [        [        U5      5       Vs/ s H  oR                   US-      X   -  PM     n	n[        [        U	5      5       Vs/ s H7  nX   UR                   US-      S-
  -  X   -   X}   S-
  X]   -  S-   -   X   -
  PM9     nn/ n/ n[        [        U	5      5       Hm  nUS:X  a3  UR                  X   S-  5        UR                  X   X   S-  -
  5        M<  UR                  X   X   S-  -
  5        UR                  X   S-  5        Mo     UU-   n
[        U
5      S-  nO[        UR                   5      S-
  n[        R
                  " [        U5       Vs/ s H  oU   XU-      4PM     sn5      nU	c`  [        U5       Vs/ s HJ  nX   UR                   US-      S-
  -  X   -   X}   S-
  X]   -  S-   -   UUS S 24   R                  5       -
  PML     n	nUR                   SS  n[        R                  " U5      nUR                   S   U-  nUU-  U-  nUR                   S   nUn[        R                  " UR                   SS  5      nUU-  nUR                  UUU45      nS nUS:X  a  [        UR                   S   5       H  nUS   R                  n[        R                  " UUU   R                  UU45      5      nUR                  USUR                   S   45      n[        U5       Hj  n [        UU    XXZU5      n!Uc=  [        R                  " / UR                   S S QUPU!R                   Q7UR                  S9nUb  U!UU    -  n!U!S   UUU S4'   Ml     M     O[        R                  " UR                   S   U/U	Q75      n/ n"[        U5       Hy  n#US S 2U#U-  U-  U#S-   U-  U-  2S4   n$UU#U-  U-  U#S-   U-  U-  2S4   n%U R                  U$U%UUUSUUU	U
US	9n&[        R
                  " U&S   5      n&U"R                  U&5        M{     [        UR                   S   5       H,  n[        U5       H  n#U"U#   n&U&US4   UUU#U#S-   2S4'   M     M.     UR!                  UR                  5      4$ s  snf s  snf s  snf s  snf s  snf s  snf s  snf s  snf )
N      r   >   
SAME_LOWER
SAME_UPPERr   )dtype.)	Bauto_pad	dilationsgroupkernel_shapeoutput_paddingoutput_shapepadsstrides)shaperangelenappendnparraysumprodreshapeTmatmulr   emptyr   zeros_runastype)'selfXWr   r   r   r   r   r   r   r   r   sitotal_paddingpads_1pads_2n_dimsnew_padskernel_sizenum_output_channels
kernel_dimCmnk
w_reshapedfinalimage_idw_tgemmgemmccresoutput_arraygroup_idgroup_Xgroup_Wgroup_outputs'                                          c/var/www/html/ai-image-ml/venv/lib/python3.13/site-packages/onnx/reference/ops/op_conv_transpose.pyr&   ConvTranspose._run   s    $%GGABK0KqKI07712;L!)*5Aa59N?"#''!"+.+Qq+G.<H,HH$QW%5676!A6D7<#9>s7|9L 9LAGGAENWZ/9L    s<01
 2A	 
agga!enq01 #$ Oa'9<7!;= /" 2   FF3|,-|+MM-"2a"78MM-"2m6F!6K"LMMM-"2m6F!6K"LMMM-"2a"78 . F?DY!^F\A%FxxeFm Tmq'4F
+;!<m TUH# #6] 
 +	 J!''!a%.1"45$'($!+y|;a?A q!tn((*+ +    wwqr{ggl+ggaj50(E1K?
GGAJGGAGGABK JYYq!}-
 A:!!''!*- mooyyak&9&91a&&AB&92tzz"~%NO23A5a,iwC } "KaggbqkK+>KK"#''! }qt.1#hE(As*+ 4	 ." HHaggaj*=MMNEL!%LAx!|u417IU7RRTWWX22e;x!|)?*?    $yy%'!-#1!-#  )    "xxQ8##L1/ )2 "!''!*- %eH#/#9LFR #GE(H1$=sBC !- . QWW%''_ 1 6.7 ( !U s0   T1	T6/T;U 
 U>U
U AU )	NNNNNNNNN)__name__
__module____qualname____firstlineno__r&   __static_attributes__rH       rF   r   r      s%    
 ~(rN   r   )	
__future__r   numpyr   onnx.reference.op_runr   onnx.reference.ops.op_col2imr   r   rH   rN   rF   <module>rS      s!    #  ' D(E (rN   