
    3j                     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   )	Generatorc                   N   ^  \ rS rSrSU 4S jjr\S\S\\   4S j5       r	Sr
U =r$ )SwiftSRGANArch	   returnc                 N   > [         TU ]  SS[        R                  " SS5      S9  g )N
SwiftSRGANzSwift-SRGANinitial.cnn.depthwise.weightzfinal_conv.pointwise.weight)idnamedetect)super__init__r   has_all)self	__class__s    d/home/wildlama/miniconda3/lib/python3.13/site-packages/spandrel/architectures/SwiftSRGAN/__init__.pyr   SwiftSRGANArch.__init__
   s/    ''.- 	 	
    
state_dictc                     SnSnSnSnUS   R                   S   nUS   R                   S   n[        US5      nS	[        US
5      -  n[        UUUUS9nU S3U S3/n[        UUU US:X  a  SOSUSSUUUS9
$ )Nr   @         r   r   zinitial.cnn.pointwise.weightresidual   	upsampler)in_channelsnum_channels
num_blocksupscale_factornfnbr
   RestorationSRT)architecturepurposetagssupports_halfsupports_bfloat16scaleinput_channelsoutput_channels)shaper   r   r   )r   r   r&   r'   r(   r)   modelr0   s           r   loadSwiftSRGANArch.load   s    
 !?@FFqI!"@AGGJ Z8
k*kBB#%!)	
 nBl"

 $%3q%8Md" &'
 	
r    )r   N)__name__
__module____qualname____firstlineno__r   r   r	   r   r   r8   __static_attributes____classcell__)r   s   @r   r   r   	   s0    
 !
y !
-A*-M !
 !
r   r   r   N)typing_extensionsr   spandrel.utilr   r   __helpers.model_descriptorr   r   r	   __arch.SwiftSRGANr   r   r   __all__r:   r   r   <module>rF      s2    & 3 W W 6-
\*- -
` \
*r   