
    3j                     l    S SK r 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)    N)override)KeyConditionget_seq_len   )ArchitectureImageModelDescriptor	StateDict   )MoSRc                   N   ^  \ rS rSrSU 4S jjr\S\S\\   4S j5       r	Sr
U =r$ )MoSRArch   returnc                 \   > [         TU ]  S[        R                  " SSSSSSSS	S
S5
      S9  g )Nr   gblocks.0.weightzgblocks.0.biaszgblocks.1.norm.weightzgblocks.1.norm.biasgblocks.1.fc1.weightzgblocks.1.fc1.biasgblocks.1.conv.weightzgblocks.1.conv.biaszgblocks.1.fc2.weightzgblocks.1.fc2.bias)iddetect)super__init__r   has_all)self	__class__s    ^/home/wildlama/miniconda3/lib/python3.13/site-packages/spandrel/architectures/MoSR/__init__.pyr   MoSRArch.__init__   sD    ''" '%&$'%&$ 	 	
    
state_dictc                    SnSnSnSnSnSnSnSn	Sn
S	n[        US
5      S-
  nUS   R                  S   nUS   R                  S   nUS   R                  S   US   R                  S   -  S-  n
US   R                  S   U-  nUS   R                  S   n	SU;   a>  SnUS   R                  S   n[        R                  " US   R                  S   S-  5      nOdSU;   a1  SnUn[        R                  " US   R                  S   S-  U-  5      nO-SnUn[        R                  " US   R                  S   U-  5      n[	        UUUUUUUU	U
US9
n[        UUU S/ SSUUUS9
$ )Nr         @   psg           g      ?g      ?gblocks   r   r
   r   r      r   zupsampler.init_posdyszupsampler.end_conv.weightzupsampler.offset.weight   zupsampler.in_to_k.weightgpszupsampler.0.weight)
in_chout_chupscalen_blockdim	upsampler	drop_pathkernel_sizeexpansion_ratio
conv_ratioSRT)architecturepurposetagssupports_halfsupports_bfloat16scaleinput_channelsoutput_channels)r   shapemathisqrtr   r   )r   r   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   models                r   loadMoSRArch.load   s    		
j)4q8-.44Q7+,2215 -.44Q7/066q9:   78>>qACG
 !89??B:-I ;<BB1EFjj,E!F!L!LQ!OST!TUG':5IFjj56<<Q?1DNG IFjj,@!A!G!G!Jf!TUG#+!
 $" "
 	
r    )r   N)__name__
__module____qualname____firstlineno__r   r   r	   r   r   rB   __static_attributes____classcell__)r   s   @r   r   r      s4    
" @
y @
-A$-G @
 @
r   r   r   )r?   typing_extensionsr   spandrel.utilr   r   __helpers.model_descriptorr   r   r	   __arch.mosr_archr   r   __all__rD   r   r   <module>rP      s7     & 3 W W "S
|D! S
l v
r   