o
    ίi7                     @   sX  d Z ddlmZmZ ddlmZ ddlmZmZm	Z	m
Z
mZ ddlmZ d@dedee fd	d
ZeG dd dZeG dd dZi Zi Zedddddddddd	ed< edddddded< edddddd ddd!d	ed"< ed#ddddded"< ed$dd%d&d&d ddd!d	ed'< ed" ed'< ed(dd(d&d)d dd*d!d	ed+< ed#d*d,d&d*ded+< ed(dd-d&d.d dd*d!d	ed/< ed+ ed/< eed dd0ddd1d2d3ed4< eed" dd0ddd1d5d3ed6< ed4 ed7< ed6 ed8< eed dd0ddd1d9ed:< eed" dd0ddd;ed<< eed' d*d0ddd;ed=< eed+ d*d0ddd;ed>< eed/ d*d0ddd;ed?< dS )Az6
Include all available vision encoder configurations.
    )	dataclassreplace)partial)CallableOptionalSequenceTupleList)hf_hub_downloadNnamepathc                 C   sN   |p
d|  d|  d}| dr%|tdd  }|d\}}t||dS |S )Nzhf://facebook/:z.ptzhf://)repo_idfilename)
startswithlensplitr
   )r   r   repofile r   N/home/ubuntu/.local/lib/python3.10/site-packages/core/vision_encoder/config.pyfetch_pe_checkpoint   s   
r   c                   @   s   e Zd ZU dZeed< eed< eed< eed< eed< e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S )PEConfigz Vision Tower Config. 
patch_sizewidthlayersheads	mlp_ratio
output_dimNls_init_valueg        	drop_path)   
image_sizeTuse_abs_posembFuse_cls_token
use_rope2dattn	pool_type   attn_pooler_heads
use_ln_preuse_ln_post)__name__
__module____qualname____doc__int__annotations__floatr   r   r    r"   r#   boolr$   r%   r'   strr)   r*   r+   r   r   r   r   r      s$   
 r   c                   @   sR   e Zd ZU dZeed< eed< eed< eed< eed< dZeed< d	Zeed
< dS )PETextConfigz Text Tower Config. context_lengthr   r   r   r         @r   i   
vocab_sizeN)	r,   r-   r.   r/   r0   r1   r   r2   r8   r   r   r   r   r5   8   s   
 r5   i     i   2      gUUUUUU@r&   i   F)	r"   r   r   r   r   r   r'   r   r$   zPE-Core-G14-448H         )r6   r   r   r   r   iP  i   r7   TzPE-Core-L14-336    r!   i      zPE-Core-B16-224i     i   zPE-Core-S16-384r(         zPE-Core-T16-384noneg?/   )r"   r'   r+   r   r   r   zPE-Lang-G14-448   zPE-Lang-L14-448zPE-Lang-G14-448-TilingzPE-Lang-L14-448-Tiling)r"   r'   r+   r   r   zPE-Spatial-G14-448)r"   r'   r+   r   zPE-Spatial-L14-448zPE-Spatial-B16-512zPE-Spatial-S16-512zPE-Spatial-T16-512)N)r/   dataclassesr   r   	functoolsr   typingr   r   r   r   r	   huggingface_hubr
   r4   r   r   r5   PE_VISION_CONFIGPE_TEXT_CONFIGr   r   r   r   <module>   s$  

	

	










	
	
	