+
    ÒÜ³j<  ã                   óp   € ^ RI t ^ RIHtHt ^RIHt ^ RIHt ^ RIH	t
 ^ RIHt ^ RIHt  ! R R	]4      tR# )
é    N)ÚListÚTuple)ÚBaseAWQForCausalLM)Ú	Phi3Block)Ú	Phi3Model)ÚPhi3DecoderLayer)ÚFasterTransformerRMSNormc                   ó’   a € ] tR t^t o RtRtR.t]R 4       t]V 3R lR l4       t	]V 3R lR l4       t
]V 3R	 lR
 l4       tRtV tR# )ÚPhi3VAWQForCausalLMr   Úmax_position_embeddingsÚvision_embed_tokensc                ó.   € V P                   P                  # ©N)ÚmodelÚlayers)r   s   &ÚR/home/luca/screen-checking/.venv/lib/python3.14/site-packages/awq/models/phi3_v.pyÚget_model_layersÚ$Phi3VAWQForCausalLM.get_model_layers   s   € à�{‰{×!Ñ!Ð!ó    c                ó    <€ V ^8„  d   QhRS[ /# ©é   Úmodule©ÚOldPhi3DecoderLayer)ÚformatÚ__classdict__s   "€r   Ú__annotate__Ú Phi3VAWQForCausalLM.__annotate__   s   ø€ ÷ 'ñ 'Ñ$7ñ 'r   c                ó   € \        R R7      # )F)Úis_scalable)Údict)r   s   &r   Úget_act_for_scalingÚ'Phi3VAWQForCausalLM.get_act_for_scaling   s   € ä Ô&Ð&r   c                ó    <€ V ^8„  d   QhRS[ /# )r   Údevice)Ústr)r   r   s   "€r   r   r      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ÚPhi3VAWQForCausalLM.move_embed   s#   € à#(§;¡;×#;Ñ#;×#>Ñ#>¸vÓ#Fˆ�‰Ö r   c                ó    <€ V ^8„  d   QhRS[ /# r   r   )r   r   s   "€r   r   r      s   ø€ ÷ *ñ *Ñ':ñ *r   c           
     óx  € . pVP                  \        V 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                  V P                  P                  .VR,          V P                  R7      4       VP                  \        V P                  P                  V P                  P                  .VR,          R7      4       V# )zself_attn.qkv_proj)Úprev_opr   ÚinpÚmodule2inspectÚkwargszself_attn.o_proj)r/   r   r0   zmlp.gate_up_proj)r/   r   r0   r1   zmlp.down_proj)
Úappendr"   Úinput_layernormÚ	self_attnÚqkv_projÚo_projÚpost_attention_layernormÚmlpÚgate_up_projÚ	down_proj)r   Ú
input_featÚmodule_kwargsr   s   &&& r   Úget_layers_for_scalingÚ*Phi3VAWQForCausalLM.get_layers_for_scaling   s  € àˆð 	�‰ÜØ×.Ñ.Ø×(Ñ(×1Ñ1Ð2ØÐ3Õ4Ø%×/Ñ/Ø$ôô	
ð 	�‰ÜØ×(Ñ(×1Ñ1Ø×(Ñ(×/Ñ/Ð0ØÐ1Õ2ôô	
ð 	�‰ÜØ×7Ñ7ØŸ
™
×/Ñ/Ð0ØÐ1Õ2Ø%Ÿz™zô	ô	
ð 	�‰ÜØŸ
™
×/Ñ/ØŸ
™
×,Ñ,Ð-Ø˜Õ/ôô	
ð ˆr   © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú
layer_typeÚmax_seq_len_keyÚmodules_to_not_convertÚstaticmethodr   r#   r+   r>   Ú__static_attributes__Ú__classdictcell__)r   s   @r   r   r      sh   ø‡ € Ø#€JØ/€OØ3Ð4Ðàñ"ó ð"ð ÷'ó ð'ð ÷Gó ðGð ÷*ó ö*r   r   )ÚtqdmÚtypingr   r   Úbaser   Úawq.modules.fused.blockr   Úawq.modules.fused.modelr   ÚAWQPhi3ModelÚ&transformers.models.phi3.modeling_phi3r   r   Úawq.modules.fused.normr	   r   r@   r   r   Ú<module>rS      s+   ðÛ ß Ý $Ý -Ý =õõ <ô<Ð,ö <r   