
    3j7
                     d    S SK Jr  S SKJrJr  SSKJrJrJr  SSK	J
r
   " S S\\
   5      rSS	/rg
)    )override)KeyConditionget_seq_len   )ArchitectureImageModelDescriptor	StateDict   )FBCNNc                   N   ^  \ rS rSrSU 4S jjr\S\S\\   4S j5       r	Sr
U =r$ )	FBCNNArch	   returnc                 T   > [         TU ]  S[        R                  " SSSSSS5      S9  g )	Nr   m_head.weightzm_down1.0.res.0.weightm_down2.0.res.0.weightm_body_encoder.0.res.0.weightm_tail.weightzqf_pred.0.res.0.weight)iddetect)super__init__r   has_all)self	__class__s    _/home/wildlama/miniconda3/lib/python3.13/site-packages/spandrel/architectures/FBCNN/__init__.pyr   FBCNNArch.__init__
   s8    ''((/( 	 
	
    
state_dictc                    SnSn/ SQnSnSnSnSnUS   R                   S   nUS	   R                   S
   n[        US5      nUS   R                   S
   US
'   US   R                   S
   US'   US   R                   S
   US'   US   R                   S
   US'   SU S3U;   a  SnOSnSU;   a  SnOSU;   a  SnOSU;   a  SnO[        S5      e[        UUUUUUUS9n	[	        U	UU S/ SSSUUS S9$ )Nr   )@         i      R
strideconvconvtransposer   r
   r   r   m_body_encoderr   zm_down3.0.res.0.weight   r   zm_down1.z.weightavgpoolzm_up3.0.weightzm_up3.0.1.weightupconvzm_up3.0.0.weightpixelshufflezUnable to detect upsample mode)in_ncout_ncncnbact_modedownsample_modeupsample_modeRestorationTc                     U " U5      S   $ )Nr    )modelimages     r   <lambda> FBCNNArch.load.<locals>.<lambda>P   s    uar   )	architecturepurposetagssupports_halfsupports_bfloat16scaleinput_channelsoutput_channelscall_fn)shaper   
ValueErrorr   r   )
r   r   r-   r.   r/   r0   r1   r2   r3   r7   s
             r   loadFBCNNArch.load   sb    &'?+11!4O,2215%56?+11!4134::1=134::1=1:;AA!D1bT!Z/*O (Oz)+M:-$M:-*M=>>+'
 $!" "8
 	
r   r6   )r   N)__name__
__module____qualname____firstlineno__r   r   r	   r   r   rF   __static_attributes____classcell__)r   s   @r   r   r   	   s0    
 9
y 9
-A%-H 9
 9
r   r   r   N)typing_extensionsr   spandrel.utilr   r   __helpers.model_descriptorr   r   r	   __arch.FBCNNr   r   __all__r6   r   r   <module>rS      s4    & 3 W W H
U# H
V 
 r   