o
    
Û¾iŸ  ã                   @   sD   d dl mZmZ G dd„ deƒZG dd„ deƒZG dd„ deƒZdS )	é    )ÚDeepseekV2ConfigÚPretrainedConfigc                       s*  e Zd ZU dZeed< dZeed< dZeed< dZ	eed< d	Z
eed
< dZeed< dZeed< dZeed< dZeed< dZeed< dZeed< dZeed< dZeed< dZeed< dZeed< dZeed< 													ddededed
ededededededededef‡ fdd„Z‡  ZS ) ÚVisionEncoderConfigÚvisionÚ
model_typeú#vit_so400m_patch14_siglip_384.webliÚ
model_nameé€  Ú
image_sizeé   Ú
patch_sizeé   Úwidthé   ÚlayersÚheadsé   Ú	mlp_ratioÚmapÚglobal_poolTÚignore_headFÚclass_tokenr   Únum_classesÚuse_checkpointÚskipÚweight_initÚdeterministicÚnum_recomputing_layersc                    s^   || _ || _|| _|| _|| _|| _|| _|| _|	| _|
| _	|| _
|| _tƒ jdi |¤Ž d S ©N© )r   r
   r   r   r   r   r   r   r   r   r   r   ÚsuperÚ__init__)Úselfr   r
   r   r   r   r   r   r   r   r   r   r   Úkwargs©Ú	__class__r   ú`/home/ubuntu/.local/lib/python3.10/site-packages/vllm/transformers_utils/configs/deepseek_vl2.pyr!      s   zVisionEncoderConfig.__init__)r   r	   r   r   r   r   r   r   TFr   F)Ú__name__Ú
__module__Ú__qualname__r   ÚstrÚ__annotations__r   r
   Úintr   r   r   r   r   r   r   Úboolr   r   r   r   r   r   r!   Ú__classcell__r   r   r$   r&   r   	   sl   
 óþýüûúùø	÷
öõôór   c                       sž   e Zd ZU dZdZeed< dZeed< dZ	eed< dZ
eed	< d
Zeed< dZeed< dZeed< 					
	ddededed	ededef‡ fdd„Z‡  ZS )ÚMlpProjectorConfigÚmlp_projectorÚdownsample_mlp_geluÚprojector_typeé€  Ú	input_dimé   Ún_embedé   Údepthé   r   Údownsample_ratioFÚtoken_poolingc                    s:   || _ || _|| _|| _|| _|| _tƒ jdi |¤Ž d S r   )r2   r4   r6   r8   r   r:   r    r!   )r"   r2   r4   r6   r8   r   r:   r#   r$   r   r&   r!   F   s   
zMlpProjectorConfig.__init__)r1   r3   r5   r7   r9   r7   )r'   r(   r)   r   r2   r*   r+   r4   r,   r6   r8   r   r:   r;   r-   r!   r.   r   r   r$   r&   r/   <   s8   
 ùþýüûúùr/   c                
       s„   e Zd ZU dZeed< eed< dZeed< dZ	eed< dZ
eeeef  ed	< 			ddeded	eeeef  f‡ fd
d„Z‡  ZS )ÚDeepseekVLV2ConfigÚdeepseek_vl_v2Úvision_configÚprojector_configÚ2DÚtile_tagÚheadÚglobal_view_pos©)r	   r	   Úcandidate_resolutionsc           	         s¼   t ƒ jd	i |¤Ž | di ¡}td	i |¤Ž| _| di ¡}td	i |¤Ž| _| di ¡}td	i |¤Ž| _|| _	|| _
|| _| jj| _| jpI| dg ¡}d|v rSd| _d S d|v r\d| _d S d S )
Nr>   r?   Úlanguage_configÚarchitecturesÚDeepseekOCRForCausalLMÚdeepseek_ocrÚDeepseekOCR2ForCausalLMÚdeepseek_ocr2r   )r    r!   Úgetr   r>   r/   r?   r   Útext_configrA   rC   rE   Ú
vocab_sizerG   r   )	r"   rA   rC   rE   r#   r>   r?   rF   rG   r$   r   r&   r!   c   s"   


ÿzDeepseekVLV2Config.__init__)rA   rB   rD   )r'   r(   r)   r   r   r+   r/   rA   r*   rC   rE   Útupler,   r!   r.   r   r   r$   r&   r<   Z   s"   
 üþýür<   N)Útransformersr   r   r   r/   r<   r   r   r   r&   Ú<module>   s   3