o
    
۾i	                     @   sH   d dl mZ d dlmZ d dlmZ G dd deZG dd deZdS )	    )Any)PretrainedConfig)Qwen2Configc                       s   e Zd ZU 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 )DotsVisionConfigdots_vit
model_type     *                  h㈵>Fflash_attention_2{Gz?T	embed_dimhidden_sizeintermediate_sizenum_hidden_layersnum_attention_headsnum_channels
patch_sizespatial_merge_sizetemporal_patch_sizerms_norm_epsuse_biaskwargsc                    s|   t  jdi | || _|| _|| _|| _|| _|| _|| _|| _	|	| _
|
| _|| _|| _|| _|| _|| _|| _|| _d S N )super__init__r   r   r   r   r   r   r   r   r   r   r   attn_implementationinitializer_rangeinit_merger_std	is_causal	post_normgradient_checkpointing)selfr   r   r   r   r   r   r   r   r   r   r   r#   r$   r%   r&   r'   r(   r   	__class__r    [/home/ubuntu/.local/lib/python3.10/site-packages/vllm/transformers_utils/configs/dotsocr.pyr"      s$   
zDotsVisionConfig.__init__)r   r   r	   r
   r   r   r   r   r   r   Fr   r   r   FTF)__name__
__module____qualname__r   str__annotations__intfloatboolr   r"   __classcell__r    r    r*   r,   r   	   sX   
 	
r   c                       s>   e Zd ZdZ			d
dedB f fddZ fdd	Z  ZS )DotsOCRConfigdots_ocrqP hP Nvision_configc                    s6   t  j|i | || _|| _tdi |pi | _d S r   )r!   r"   image_token_idvideo_token_idr   r:   )r)   r;   r<   r:   argsr   r*   r    r,   r"   8   s   zDotsOCRConfig.__init__c                    s   d | _ t j|fi | d S )N)_auto_classr!   save_pretrained)r)   save_directoryr   r*   r    r,   r?   E   s   zDotsOCRConfig.save_pretrained)r8   r9   N)r-   r.   r/   r   dictr"   r?   r5   r    r    r*   r,   r6   5   s    r6   N)typingr    transformers.configuration_utilsr   transformers.models.qwen2r   r   r6   r    r    r    r,   <module>   s
   ,