
    ht3                     4    S SK rS SKJr  S r " S S\5      rg)    N)OpRunc	                      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 R                   S   UR                   S   U-  :w  d  UR                   S   U-  S:w  a  [        SU R                    SUR                    SU SUR                   S   U R                   S   U-  [        R                  " UR                   SS  5      U R                   S   -  U-  4 S3	5      eUS:  Ga  / n
SnUR                   S   U-  nUR                   S   n[	        U R                   S   5       Hv  n[	        U5       Hd  nXUS-   2X-  US-   U-  24   nXU-  US-   U-   n [        UUS UUSUUU5	      nUS:X  a  UUR                   S   -  nU
R                  UU45        Mf     Mx     U R                   S   /[        U
S   S   R                   SS  5      QnUUS'   [        R                  " [        U5      U
S   S   R                  S9nSnU
 HL  u  nnUUXS-   2UUUR                   S   -   24'   UUR                   S   -  nUUR                   S   :  d  MJ  SnMN     UbM  UR                    V	s/ s H  n	SPM     nn	UR                   S   US'   UR                  [        U5      5      nUU-  nU$ US   S:w  d  [        U5      [        U5      :w  Gau  [        U5      n/ n[        UR                   S U*  5      n[!        U5       H{  u  nn[        UR                   5      U-
  U-   nUR                  UR                   U   UR                   U   S-
  US-
  -  -   5        UR                  UU   UU   S-
  US-
  -  -   5        M}     [        R                  " [        U5      UR                  S9n[#        SUR                   S   5      [#        SUR                   S   5      /n[!        U5       HJ  u  nn[        UR                   5      U-
  U-   nUR                  [#        SUR                   U   U5      5        ML     UU[        U5      '   UnUnUS;   a  / n/ n[	        [        U R                   5      S-
  5       Hr  nU R                   U   nUUU   -   S-
  UU   -  n U S-
  UU   -  UU   -   U-
  n!US:X  a	  U!S-   S-  n"OU!S-  n"U!U"-
  n#UR                  U"5        UR                  U#5        Mt     UU-   n[        U R                   5      S:X  Ga  U R                   u  n$n%n&Uu  n'Uu  n([%        U&U'-
  US   -   US   -   U(-  S-   5      n)US   n*SU'S-  -  n+U** n,U)U(-  n-[        R                  " U R                   S   UR                   S   U)45      n
Ub%  U
S S 2S S 2S S 24==   UR                  S5      -  ss'   [	        SU$5       GH  n.[	        UR                   S   5       GH  n/[	        SU%5       GH  n0UU/U/S-   2U0U0S-   24   n1[	        U,U-U(5       GHq  n2U2U,-
  U(-  n3U3U):  a  M  U2U'S-  -   n[        SUU+-   5      [        UU+-   U'-   U&5      n5n4U U.U.S-   2U0U0S-   2U4U524   n6U6R                   U1R                   :w  a  [        U+* U-
  S5      [        U'U'U&-   UU+-   U'-   -
  5      n8n7U1S S2S S2U7U824   n9U6R                   U9R                   :w  a5  [        SU6R                    SU9R                    SU+ SU SU' SU& SU( S35      e[        R&                  " U6R                  S5      U9R                  S5      5      S    n	O8[        R&                  " U6R                  S5      U1R                  S5      5      S    n	U
U.U/U34==   U	-  ss'   GMt     GM     GM     GM     U
$ [        U R                   5      S!:X  GaJ  U R                   u  n$n%n&n:Uu  n'n;Uu  n(n<[%        U&U'-
  US   -   US   -   U(-  S-   5      n)[%        U:U;-
  US   -   US   -   U<-  S-   5      n=US   US   n>n*SU'S-  -  SU;S-  -  n?n+U** U>* n@n,U)U(-  U=U<-  nAn-[        R                  " U R                   S   UR                   S   U)U=45      n
Ub   UR                  S"5      U
S S 2S S 2S S 2S S 24'   [	        SU$5       GH[  n.[	        UR                   S   5       GH:  n/[	        SU%5       GH%  n0UU/U/S-   2U0U0S-   24   n1[	        U,U-U(5       GH  n2U2U,-
  U(-  n3U3U):  a  M  U2U'S-  -   n[        SUU+-   5      [        UU+-   U'-   U&5      n5n4[	        W@WAU<5       GH  nBUBW@-
  U<-  nCUCU=:  a  M  WBU;S-  -   nD[        SUDU?-   5      [        UDU?-   U;-   U:5      nFnEU U.U.S-   2U0U0S-   2U4U52UEUF24   n6U6R                   U1R                   :w  a  [        U+* U-
  S5      [        U'U'U&-   UU+-   U'-   -
  5      n8n7[        U?* WD-
  S5      [        U;U;U:-   UDU?-   U;-   -
  5      nHnGU1S S2S S2U7U82UGUH24   n9U6R                   U9R                   :w  aD  [        SU6R                    SU9R                    SU+ S#U? SU S$WD SU' S%U; SU& S&U: SU( S'U< S35      e[        R&                  " U6R                  S5      U9R                  S5      5      S    n	O8[        R&                  " U6R                  S5      U1R                  S5      5      S    n	U
U.U/U3WC4==   U	-  ss'   GM     GM     GM(     GM=     GM^     U
$ [        U R                   5      S(:X  GaF  U R                   u  n$n%n&n:nIUu  n'n;nJUu  n(n<nK[%        U&U'-
  US   -   US   -   U(-  S-   5      n)[%        U:U;-
  US   -   US!   -   U<-  S-   5      n=[%        UIUJ-
  US   -   US(   -   UK-  S-   5      nLUS   US   US   nMn>n*SU'S-  -  SU;S-  -  SUJS-  -  nNn?n+U** U>* UM* nOn@n,U)U(-  U=U<-  ULUK-  nPnAn-[        R                  " U R                   S   UR                   S   U)U=UL45      n
Ub#  UR                  S)5      U
S S 2S S 2S S 2S S 2S S 24'   [	        SU$5       GH  n.[	        UR                   S   5       GH  n/[	        SU%5       GH  n0UU/U/S-   2U0U0S-   24   n1[	        U,U-U(5       GH  n2U2U,-
  U(-  n3U3U):  a  M  U2U'S-  -   n[        SUU+-   5      [        UU+-   U'-   U&5      n5n4[	        W@WAU<5       GHo  nBUBW@-
  U<-  nCUCU=:  a  M  WBU;S-  -   nD[        SUDU?-   5      [        UDU?-   U;-   U:5      nFnE[	        WOWPWK5       GH   nQUQWO-
  WK-  nRURWL:  a  M  WQWJS-  -   nS[        SUSWN-   5      [        USUN-   UJ-   WI5      nUnTU U.U.S-   2U0U0S-   2U4U52WEWF2UTUU24   n6U6R                   U1R                   :w  Gad  [        U+* U-
  S5      [        U'U'U&-   UU+-   U'-   -
  5      n8n7[        U?* WD-
  S5      [        U;U;U:-   UDU?-   U;-   -
  5      nHnG[        WN* WS-
  S5      [        WJUJWI-   USUN-   UJ-   -
  5      nWnVU1S S2S S2U7U82UGUH2UVUW24   n9U6R                   U9R                   :w  a  [        S*R)                  / SPU6R                    PSPU9R                    PSPU+ PS#PU? PS+PWN PSPU PS$PWD PS,PWS PSPU' PS%PU; PS-PWJ PSPU& PS&PU: PS.PWI PSPU( PS'PU< PS/PWK PSP5      5      e[        R&                  " U6R                  S5      U9R                  S5      5      S    n	O8[        R&                  " U6R                  S5      U1R                  S5      5      S    n	U
U.U/U3WCWR4==   U	-  ss'   GM#     GMr     GM     GM     GM     GM     U
$ [        S0U R                    SUR                    SU S135      es  sn	f s  sn	f s  sn	f ! [        [        4 a[  n[        SU R                    SUR                    SU S	U S
UR                    SUR                    SU SU SU SU SU S35      UeS nAff = fs  sn	f )2N      r   zShape inconsistencies, X.shape=z
, W.shape=z, group=z, W should be ./z, gx.shape=z, gw.shape=z, auto_pad=z, dilations=z, kernel_shape=z, pads=z
, strides=)dtype>   VALID
SAME_LOWER
SAME_UPPERr      )r   r   r   zUnexpected shape z != z, oh=z, i=z, kh=z, sH=z, sth=)r   r   )r   r   )r   r      )r   r   r   r   z, ow=z, j=z, kw=z, sW=z, stw=   )r   r   r   r   r    z, oz=z, z=z, kz=z, sZ=z, stz=zThe convolution for X.shape=z is not implemented yet.)shape
ValueErrornpprodrange_conv_implementationRuntimeErrorappendlistzerostupler	   reshapeminmaxlen	enumeratesliceintdotjoin)XXWBauto_pad	dilationsgroupkernel_shapepadsstridessrestdmgdwbggxgwcve	new_shapefinalpndnew_kernel_shapeiddinew_windicesheadtailtarget_size
pad_neededpad_headpad_tailsNsCsHkhsthh_outh0ohbhehnnwcwiohrih1ih2imgjh1jh2w_sWkwstww_outw0owbwewjowrjiw1iw2jw1jw2sZkzstzz_outz0ozbzezzozrziz1iz2jz1jz2sX                                                                                           T/var/www/fran/franai/venv/lib/python3.13/site-packages/onnx/reference/ops/op_conv.pyr   r      s     !,1Q	,wwqr{|7712;';a;'!+ggabk*k1k*wwqzQWWQZ%''1771:+=+B-aggYj	RWQX YGGAJ
e(;RWWQWWQR[=QUVU\U\]^U_=_bg=ghiijl
 	
 qyWWQZ5 WWQZqwwqz"A5\1q5y!&AER<"7782vQ"-- !$
B$ 6"((1+%B

Ar7#1 " #6 WWQZ<$s1vayqr':";<		!y)QAEAr46E!!e)QRXXa[001!AEKKN"	 
 =$)KK0KqKI0771:IaL		%	*+AQJE|qC	Nc)n<^2#'	i(DAqQWW"Q&BQWWR[AGGBK!OA+FFG##LO|A7JqSTu6U$UV ) y)9EKKN+U1ekk!n-EFi(DAqQWW"Q&BNN5EKKOQ78 ) !"eGn'88s177|a'(A
Awqz>A-'!*<K%/WQZ7,q/IAMJ<'&Nq0%?!H,HKK!KK! ) d{
177|qWW
Bb2gQ'$q'1S8A=>!W26]SS[hh
AGGAJ67=1aLAIIj11Lq"AAGGAJ'q"A"rAv+q1q5y01A#BC0 2g#-;$aK#&q!b&>3q2v{B3GSAE	1q1u9c#g =>99/'*B37ABR1r6TV;@W8XC!"2A2rr3s7?!3B"yyBHH4&2&7		{$rxxjPUVXUY Z))*5E"VC5%K'" !" !#s{{7';RZZ=P Q $!A !#s{{7';QYYw=O P $!A Ar2I!+- 1 & ( 8 

177|qBBBSb2gQ'$q'1S8A=>b2gQ'$q'1S8A=>a$q'BrAvb1fBrcBeckBhh
AGGAJu=>=ii6C1a
Oq"AAGGAJ'q"A"rAv+q1q5y01A#BC0 2g#-;$aK#&q!b&>3q2v{B3GS"'B"4B"$r'c!1B!U{ ( "R!VA'*1a"f~s1r6B;7KC"#AAIq1q5y#c'3s7$J"KC"yyAGG3+.sQw?C$&R1r6B;(?="S ,/sQw?C$&R1r6B;(?="S &'rr2A2s3wC'?%@#&99#8*6*;CII;d288*TYZ\Y]]bcebf g--.CtA3eB4uRDbTQVWYVZZ`ad`eeklokppq)s+& %& %'FF3;;w+?GAT$U$(%" %'FF3;;w+?7AS$T$(%"  2r2.!3.7 #5 1 & ( N 

177|qWWBB!
BS#b2gQ'$q'1S8A=>b2gQ'$q'1S8A=>b2gQ'$q'1S8A=>!Wd1gtAwB26]B"q&M2a=BS2#sBS[%#+us{Bhh
AGGAJueDE=!"+;!<C1aAq"AAGGAJ'q"A"rAv+q1q5y01A#BC0 2g#-;$aK#&q!b&>3q2v{B3GS"'B"4B"$r'c!1B!U{ ( "R!VA'*1a"f~s1r6B;7KC&+BC&8&(2g#%5#%;$,$&aK+.q!b&>3q2v{B;OS&'AE	1q1u9c#gs3wPSTWPW(W&X#&99#7/2B37A(*BGq2v{,CA&C 03B37A(*BGq2v{,CA&C 03B37A(*BGq2v{,CA&C *+2A2rr3s7CGSW+L)MB'*yyBHH'<.:-k -k.? -k		{ -k$ -krxxj -kX] -k^`]a -kaf -kgifj -kjo -kpros -k t1 -k12-k37-k89s-k:>-k?@c-kAF-kGId-kJO-kPRt-kSX-kY[X\-k]2-k24-k5:-k;=$-k>C-kDF4-kGM-kNQU-kRX-kY\X]-k]c-kdgch-khi-k/* )*
 )+(+G(<bjj>Q)& )-)&A )+(+G(<aii>P)& )-)&A
 !$Ar2r2$5 6! ; 6G '9 #5 1 & ( j 


&qwwiz!'' C$~%=	? a - (*: #L1 $9!''*QWWIU]^_]``abgah i$$&HH:[
+hZ X%%.K|nGTXSY Z##*)1.
 * 1s5   	/.:AAAA'AA@=@=AAc                   ,    \ rS rSr       SS jrSrg)Convi%  Nc
                     [        UR                  5      S:  a  [        SUR                   S35      e[        XX4XVXxU	5	      R	                  UR
                  5      4$ )Nr   z3X must have at least 3 dimensions but its shape is r   )r    r   r   r   astyper	   )
selfr&   r'   r(   r)   r*   r+   r,   r-   r.   s
             r~   _run	Conv._run&  s]     qww<!EaggYaP 
 !a9\fQWWo	
 	
     )NNNNNNN)__name__
__module____qualname____firstlineno__r   __static_attributes__r   r   r~   r   r   %  s    
 
r   r   )numpyr   onnx.reference.op_runr   r   r   r   r   r~   <module>r      s      'Wt
5 
r   