
    9i4                     p    S SK rS SKJs  Jr  SS jrS	S jrS
S jr    SS jr     SS jr	\
S:X  a  gg)    Nc           	         [         R                  " U5         [        R                  " XSS/S SS9n[         R                  R                  U5      n[        R                  " X1SS/S SS9nX0-   sS S S 5        $ ! , (       d  f       g = f)N   conv1)activation_fnscopeconv2)tfvariable_scopeslimconvolution2dnn
leaky_relu)inputsout_channelnamexs       d/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/modelscope/models/cv/cartoon/network.pyresblockr      su    			4	 !Qt7L EEQQF$gG z 
!	 	 s   AA66
Bc                    U R                   R                  5       n[        R                  " U SUS   /5      n [        R                  " SSUS   /[        R
                  " 5       SS9nUnS n[        U5       H  n [        R                  " U[        R                  " U 5      5      n[        R                  R                  U5      n[        R                  " XP5      n[        R                  R                  U5      nM     [        R                  " U5      n[        R                  " U5      n[        R                  " [        R                  " XP5      [        R                  " U5      5      n	[        R                  " UR                  U5      /5         X	-  n
[        R                  " X5      n
S S S 5        U
$ ! , (       d  f       W
$ = f)Nu   F)initializer	trainable)shapeas_listr	   reshapeget_variablerandom_normal_initializerrangematmul	transposer   l2_normalizestop_gradientcontrol_dependenciesassign)w	iterationw_shaper   u_hatv_hativ_u_sigmaw_norms              r   spectral_normr1      sT   ggooG


1r72;'(A
a002	A
 EE9	 YYubll1o.""2&YYu ""2&  U#EU#EIIbii)2<<+>?E		 	 !((5/!2	3F, 
4 M	 
4	3 Ms   F22
Gc           	      |   [         R                  " U5         [         R                  " SUS   US   U R                  5       S   U/S9n[         R                  " SU/[         R                  " S5      S9n[         R
                  R                  U [        U5      SX3S/S	S
9U-   n U sS S S 5        $ ! , (       d  f       g = f)Nkernelr   r   r   )r   biasg        )r   SAME)inputfilterstridespadding)r	   r
   r   	get_shapeconstant_initializerr   conv2dr1   )r   channelk_sizestrider   r'   bs          r   conv_spectral_normrA   3   s    			4	 OOVAYq	[[]2.9: OOWI2+B+B3+GI EELL #*	    	   
!	 	 s   BB--
B;c           	      ^   [         R                  " X4S9   [        R                  " XSS/S S9n[         R                  R                  U5      n[        R                  " XQSS/SS S9n[         R                  R                  U5      n[        R                  " XaS-  SS/S S9n[         R                  R                  U5      n[        R                  " XaS-  SS/SS S9n[         R                  R                  U5      n[        R                  " XqS-  SS/S S9n[         R                  R                  U5      n[        U5       H  n[        XqS-  SR                  U5      S	9nM!     [        R                  " XqS-  SS/S S9n[         R                  R                  U5      n[         R                  " U5      S
   [         R                  " U5      S   p[         R                  R                  XyS-  U
S-  45      n[        R                  " X-   US-  SS/S S9n[         R                  R                  U5      n[        R                  " XSS/S S9n[         R                  R                  U5      n[         R                  " U5      S
   [         R                  " U5      S   p[         R                  R                  XS-  US-  45      n[        R                  " X-   USS/S S9n[         R                  R                  U5      n[        R                  " USSS/S S9nUsS S S 5        $ ! , (       d  f       g = f)Nreuse   r   r      )r?   r      zblock_{})r   r   r   )r	   r
   r   r   r   r   r    r   formatr   imageresize_bilinear)r   r=   
num_blocksr   rD   x0x1x2idxh1w1x3h2w2x4s                  r   unet_generatorrW   D   s   
 
		4	-!QtLUUb!!Q?UUb!aK!QtLUUb!!aVATCUUb!aK!QtLUUb!$C!*2C2CC2HJB % aK!QtLUUb!"a"((2,q/BXX%%b626*:;GWq[1a&>UUb!aV4HUUb!"a"((2,q/BXX%%b626*:;1a&MUUb!A1vTB O 
.	-	-s   K?L
L,c                    [         R                  " XES9   [        S5       H  n[        U USU-  -  SS/SSR	                  U5      S9n [         R
                  R                  U 5      n [        XSU-  -  SS/SR	                  U5      S9n [         R
                  R                  U 5      n M     USL a  [        U S	S	S	/S
S9n O-[         R                  " U S	S/S9n [        R                  " U S	S S9n U sS S S 5        $ ! , (       d  f       g = f)NrC   r   rG   zconv{}_1)r?   r   zconv{}_2)r   Tr   conv_out)axisrF   )
r	   r
   r    rA   rI   r   r   reduce_meanr   fully_connected)r   scaler=   patchr   rD   rP   s          r   disc_snr_   s   s     
		4	-8C"!S& 1a&&&s+	-A
   #A"QV#aV*2C2CC2HJA  #A  D="1a!QjAA q1v.A$$Q>A+ 
.	-	-s   CC88
D__main__)    r   )r   )r   
conv_snorm)ra   rH   	generatorF)r   ra   TdiscriminatorF)
tensorflowr	   tensorflow.contrib.slimcontribr   r   r1   rA   rW   r_   __name__     r   <module>rk      sZ     & &	D$ #	,`  < z rj   