+
    ÒÜ³j	  ã                   ó@   € ^ RI t ^ RIHtHt ^RIHt  ! R R]4      tR# )é    N)ÚListÚTuple)ÚBaseAWQForCausalLMc                   ót   a € ] tR t^t o RtRt]R 4       t]R 4       t]V 3R lR l4       t	]R 4       t
RtV tR	# )
ÚDeepseekV2AWQForCausalLMÚDeepseekV2DecoderLayerÚmax_position_embeddingsc                ó.   € V P                   P                  # ©N)ÚmodelÚlayers)r   s   &ÚW/home/luca/screen-checking/.venv/lib/python3.14/site-packages/awq/models/deepseek_v2.pyÚget_model_layersÚ)DeepseekV2AWQForCausalLM.get_model_layers
   s   € à�{‰{×!Ñ!Ð!ó    c                ó   € \        R R7      # )F)Úis_scalable)Údict)Úmodules   &r   Úget_act_for_scalingÚ,DeepseekV2AWQForCausalLM.get_act_for_scaling   s   € ä Ô&Ð&r   c                ó    <€ V ^8„  d   QhRS[ /# )é   Údevice)Ústr)ÚformatÚ__classdict__s   "€r   Ú__annotate__Ú%DeepseekV2AWQForCausalLM.__annotate__   s   ø€ ÷ Gñ G¡#ñ Gr   c                ón   € V P                   P                  P                  V4      V P                   n        R # r   )r   Úembed_tokensÚto)r   r   s   &&r   Ú
move_embedÚ#DeepseekV2AWQForCausalLM.move_embed   s#   € à#(§;¡;×#;Ñ#;×#>Ñ#>¸vÓ#Fˆ�‰Ö r   c                óÄ  € . p\        V P                  R 4      '       df   VP                  \        V P                  V P                  P
                  V P                  P                  .VR,          V P                  VR7      4       M±VP                  \        V P                  V P                  P                  V P                  P                  .VR,          V P                  VR7      4       VP                  \        V P                  P                  V P                  P                  .VR,          R7      4       VP                  \        V P                  P                  V P                  P                  .VR,          R7      4       \        V P                  R4      '       EdŒ   TP                  \        V P                  V P                  P                   UUu. uF$  pVP                  VP                   3 F  pVNK  	  K&  	  uppV P                  P"                  P                  V P                  P"                  P                   .,           VR,          V P                  R	7      4       \%        V P                  P                  4       FB  w  rdVP                  \        VP                   VP&                  .VR
V R2,          R7      4       KD  	  VP                  \        V P                  P"                  P                   V P                  P"                  P&                  .VR,          R7      4       V# VP                  \        V P                  V P                  P                  V P                  P                   .VR,          V P                  R	7      4       VP                  \        V P                  P                   V P                  P&                  .VR,          R7      4       V# u uppi )Úq_projzself_attn.q_proj)Úprev_opr   ÚinpÚmodule2inspectÚkwargszself_attn.q_a_projzself_attn.q_b_proj)r'   r   r(   zself_attn.kv_b_projÚgateÚmlp)r'   r   r(   r)   zmlp.experts.z
.down_projzmlp.shared_experts.down_projzmlp.gate_projzmlp.down_proj)ÚhasattrÚ	self_attnÚappendr   Úinput_layernormr&   Úkv_a_proj_with_mqaÚq_a_projÚq_a_layernormÚq_b_projÚkv_a_layernormÚ	kv_b_projr,   Úpost_attention_layernormÚexpertsÚ	gate_projÚup_projÚshared_expertsÚ	enumerateÚ	down_proj)r   Ú
input_featÚmodule_kwargsr   ÚexpertÚwÚis   &&&    r   Úget_layers_for_scalingÚ/DeepseekV2AWQForCausalLM.get_layers_for_scaling   s>  € ð ˆä�6×#Ñ# X×.Ò.à�M‰MÜØ"×2Ñ2à×(Ñ(×/Ñ/Ø×(Ñ(×;Ñ;ðð #Ð#5Õ6Ø#)×#3Ñ#3Ø(ô	õð �M‰MÜØ"×2Ñ2à×(Ñ(×1Ñ1Ø×(Ñ(×;Ñ;ðð #Ð#7Õ8Ø#)×#3Ñ#3Ø(ô	ôð �M‰MÜØ"×,Ñ,×:Ñ:à×(Ñ(×1Ñ1ðð #Ð#7Õ8ôôð 	�‰ÜØ×(Ñ(×7Ñ7à×$Ñ$×.Ñ.ðð Ð4Õ5ôô	
ô �6—:‘:˜v×&Ó&à�M‰MÜØ"×;Ñ;ð '-§j¡j×&8Ò&8ôá&8˜FØ"(×"2Ñ"2°F·N±NÓ!C˜Aó á!Cñ Ù&8òð  Ÿ™×2Ñ2×<Ñ<¸f¿j¹j×>WÑ>W×>_Ñ>_Ð`õ	að
 # 5Õ)Ø#)§:¡:ô	ôô ' v§z¡z×'9Ñ'9Ö:‘	�Ø—‘ÜØ &§¡Ø &× 0Ñ 0Ð1Ø&¨°a°S¸
Ð'CÕDôöñ ;ð �M‰MÜØ"ŸJ™J×5Ñ5×=Ñ=Ø"ŸJ™J×5Ñ5×?Ñ?Ð@Ø"Ð%AÕCôôð6 ˆð% �M‰MÜØ"×;Ñ;Ø"ŸJ™J×0Ñ0°&·*±*×2DÑ2DÐEØ" ?Õ3Ø#)§:¡:ô	ôð �M‰MÜØ"ŸJ™J×.Ñ.Ø"ŸJ™J×0Ñ0Ð1Ø" ?Õ3ôôð ˆùó]s   Ç*O© N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú
layer_typeÚmax_seq_len_keyÚstaticmethodr   r   r#   rC   Ú__static_attributes__Ú__classdictcell__)r   s   @r   r   r      sa   ø‡ € Ø)€JØ/€Oàñ"ó ð"ð ñ'ó ð'ð ÷Gó ðGð ñió öir   r   )ÚtqdmÚtypingr   r   Úbaser   r   rE   r   r   Ú<module>rR      s   ðÛ ß Ý $ôzÐ1ö zr   