
    3j                    x    S SK Jr  S SKJr  S SKJrJr  SSKJrJ	r	J
r
JrJr  SSKJr   " S S	\\   5      rS	S
/rg)    )annotations)override)KeyConditionget_seq_len   )ArchitectureImageModelDescriptorModelTilingSizeRequirements	StateDict   )MixDehazeNetc                  @   ^  \ rS rSrSU 4S jjr\SS j5       rSrU =r$ )MixDehazeNetArch   c                D   > [         TU ]  S[        R                  " S6 S9  g )Nr   )$patch_embed.proj.weightzpatch_embed.proj.biaszlayer1.blocks.0.norm1.weightz"layer1.blocks.0.norm1.running_meanz!layer1.blocks.0.norm1.running_varz"layer1.blocks.0.norm2.running_meanlayer1.blocks.0.conv1.weightzlayer1.blocks.0.conv3_19.weightzlayer1.blocks.0.conv3_13.weightzlayer1.blocks.0.conv3_7.weightzlayer1.blocks.0.Wv.0.weightzlayer1.blocks.0.Wv.1.weightzlayer1.blocks.0.Wg.1.weightlayer1.blocks.0.ca.1.weightr   zlayer1.blocks.0.ca.3.weightzlayer1.blocks.0.pa.0.weightzlayer1.blocks.0.pa.2.weightzlayer1.blocks.0.mlp.0.weightzlayer1.blocks.0.mlp.2.weightzlayer1.blocks.0.mlp2.0.weightzlayer1.blocks.0.mlp2.2.weightzpatch_merge1.proj.weightzskip1.weightzlayer2.blocks.0.norm1.weightzpatch_merge2.proj.weightzskip2.weightzlayer3.blocks.0.norm1.weightzpatch_split1.proj.0.weightzfusion1.mlp.0.weightzlayer4.blocks.0.norm1.weightzpatch_split2.proj.0.weightzfusion2.mlp.0.weightzlayer5.blocks.0.norm1.weightpatch_unembed.proj.0.weightzpatch_unembed.proj.0.bias)iddetect)super__init__r   has_all)self	__class__s    f/home/wildlama/miniconda3/lib/python3.13/site-packages/spandrel/architectures/MixDehazeNet/__init__.pyr   MixDehazeNetArch.__init__   s&    '' % 	 (	
    c                   SnSn/ SQn/ SQnUS   R                   S   nUS   R                   S   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'   US   R                   S   US'   [        US5      US'   [        US5      US'   [        US5      US'   [        US5      US'   [        US5      US'   [        UUUUS9n/ nU/ SQ:X  a  UR                  S5        U/ SQ:X  a  UR                  S5        U/ SQ:X  a  UR                  S5        U/ SQ:X  a  UR                  S5        [	        UUU SUSSSUU[        SS 9[        R                  S! S"9$ )#Nr      )   0   `   r$   r#   )r   r      r   r   r   r   r   r   r   zlayer2.blocks.0.conv1.weightzlayer3.blocks.0.conv1.weightr&   zlayer4.blocks.0.conv1.weightzlayer5.blocks.0.conv1.weightzlayer1.blockszlayer2.blockszlayer3.blockszlayer4.blockszlayer5.blocks)in_chans	out_chans
embed_dimsdepthstiny)r&   r&   r"   r&   r&   small)r"   r"      r"   r"   big)r-   r-      r-   r-   largeRestorationFT(   )minimumc                    U " U5      S-  S-   $ )Ng      ? )modelimages     r   <lambda>'MixDehazeNetArch.load.<locals>.<lambda>q   s    u);c)Ar    )architecturepurposetagssupports_halfsupports_bfloat16scaleinput_channelsoutput_channelssize_requirementstilingcall_fn)shaper   r   appendr	   r   r
   DISCOURAGED)r   
state_dictr'   r(   r)   r*   r6   r<   s           r   loadMixDehazeNetArch.load=   s   	)
 78>>qA<=CCAF	"#ABHHK
1"#ABHHK
1"#ABHHK
1"#ABHHK
1"#ABHHK
1
O<q	
O<q	
O<q	
O<q	
O<q	!	
 _$KK_$KK _$KK%%KK #!"#$.r:**A
 	
r    r5   )returnNone)rH   r   rK   z"ImageModelDescriptor[MixDehazeNet])	__name__
__module____qualname____firstlineno__r   r   rI   __static_attributes____classcell__)r   s   @r   r   r      s    )
V 4
 4
r    r   r   N)
__future__r   typing_extensionsr   spandrel.utilr   r   __helpers.model_descriptorr   r	   r
   r   r   __arch.MixDehazeNetr   r   __all__r5   r    r   <module>rY      s=    " & 3  .a
|L1 a
H ~
.r    