
    wj                        S SK Jr  S SKrS SKJrJr  \(       a  S SKJr  SSKJ	r	J
r
Jr  \R                  " S5      rSr\	R                  " S	5       " S
 S\	5      5       rg)    )annotationsN)CallableTYPE_CHECKING)Tensor   )	TextModelggufloggerz9^(upsample\.\d+\.0|decoder\.\d+\.block\.1)\.conv\.weight$g&.>$Qwen3OmniMoeForConditionalGenerationc                  j    \ rS rSr\R
                  R                  r\SS j5       r	S r
S rS	S jrSrg)
Qwen3OmniCode2WavModel   c                <    Uu  p#UR                  S5      (       d  g U$ )N	code2wav.)
startswith)clsitemname_s       conversion/qwen3omni.pyfilter_tensors%Qwen3OmniCode2WavModel.filter_tensors   s"     {++    c                $    U R                  5         g )N)_set_vocab_none)selfs    r   	set_vocab Qwen3OmniCode2WavModel.set_vocab    s    r   c                   U R                   S   n[        R                  U R                     nU R                  nUR                  US-   US   5        UR                  US-   US   5        UR                  US-   US   5        UR                  US-   US	   5        UR                  US
-   US   5        UR                  US-   US   5        UR                  US-   US   5        UR                  US-   US   5        UR                  US-   US   5        UR                  US-   US   5        UR                  US-   US   5        UR                  US-   [        US   5      5        UR                  US-   [        US   5      5        UR                  US-   US   5        Sn[        US   5      [        US   5      -    H  nXE-  nM	     UR                  US-   U5        UR                  US -   S!5        g )"Ncode2wav_configz.hidden_sizehidden_sizez.block_countnum_hidden_layersz.head_countnum_attention_headsz.head_count_kvnum_key_value_headsz.feed_forward_lengthintermediate_sizez.rms_epsrms_norm_epsz.rope_theta
rope_thetaz.sliding_windowsliding_windowz.decoder_dimdecoder_dimz.num_quantizersnum_quantizersz.codebook_sizecodebook_sizez.upsample_ratesupsample_ratesz.upsampling_ratiosupsampling_ratiosz.layer_scale_initlayer_scale_initial_scaler   z.total_upsamplez.sample_ratei]  )	hparamsr	   MODEL_ARCH_NAMES
model_archgguf_writer
add_uint32add_float32	add_arraylist)r   cfgarchgwtotal_upsamplers         r   set_gguf_parameters*Qwen3OmniCode2WavModel.set_gguf_parameters#   s   ll,-$$T__5
tn,S5GH
tn,S9L5MN
tm+S9N5OP
t..S9N5OP
t44c:M6NO
tj(S5HI
tm+S5FG
t//S9I5JK
tn,S5GH
t//S9I5JK
t..S5IJ
t//T#>N:O5PQ
t22T#>Q:R5ST
t11S9T5UVc*+,tC8K4L/MMAN N
d..?
d^+6r   c                   SS K nU[        S5      S  nUR                  S5      (       a2  US [        S5      *  S-   UR                  UR	                  5       5      4/$ UR                  S5      (       a<  US [        S5      *  S-   SUR                  UR	                  5       5      [
        -   -  4/$ [        R                  U5      (       aD  UR                  u  pgnXQR                  SS	S5      R                  Xx-  U5      R                  5       4/$ XQ4/$ )
Nr   r   z.alphaz.snake_az.betaz.snake_inv_bg      ?r      )torchlenendswithexpfloat
_SNAKE_EPS
_TRANSCONVmatchshapepermutereshape
contiguous)	r   
data_torchr   bidr@   baseicocks	            r   modify_tensors%Qwen3OmniCode2WavModel.modify_tensors=   s   C$%& ==""*S]N+j8%))JDTDTDV:WXYY==!!/S\M*^;SEIIjN^N^N`DadnDn=opqq D!!"((IBA--aA6>>rvrJUUWXYY"##r    N)r   z tuple[str, Callable[[], Tensor]]returnz'tuple[str, Callable[[], Tensor]] | None)rL   r   r   strrM   z
int | None)__name__
__module____qualname____firstlineno__r	   
MODEL_ARCHQWEN3OMNI_CODE2WAVr1   classmethodr   r   r<   rR   __static_attributes__rT   r   r   r   r      s2    33J 74$r   r   )
__future__r   retypingr   r   r@   r   rN   r   r	   r
   compilerF   rE   registerr   rT   r   r   <module>rd      sW    " 	 * ) ) ZZTU


 :;;$Y ;$ <;$r   