
    i                         d Z ddlmZ ddlmZ ddlmZ ddlmZ ddl	m
Z
mZ  ed	
      e G d de                    ZdgZy)zLlava model configuration    )Literal)strict   )PreTrainedConfig)auto_docstring   )CONFIG_MAPPING
AutoConfigzllava-hf/llava-1.5-7b-hf)
checkpointc                        e Zd ZU dZdZddiZeedZdZe	e
z  dz  ed<   dZe	e
z  dz  ed<   d	Zeed<   d
Zeed<   dZeed<   dZed   ed<   dZeee   z  ed<   dZeed<   dZeed<    fdZ xZS )LlavaConfiga  
    Example:

    ```python
    >>> from transformers import LlavaForConditionalGeneration, LlavaConfig, CLIPVisionConfig, LlamaConfig

    >>> # Initializing a CLIP-vision config
    >>> vision_config = CLIPVisionConfig()

    >>> # Initializing a Llama config
    >>> text_config = LlamaConfig()

    >>> # Initializing a Llava llava-1.5-7b style configuration
    >>> configuration = LlavaConfig(vision_config, text_config)

    >>> # Initializing a model from the llava-1.5-7b style configuration
    >>> model = LlavaForConditionalGeneration(configuration)

    >>> # Accessing the model configuration
    >>> configuration = model.config
    ```llavaimage_token_idimage_token_index)text_configvision_configNr   r    }  i@  image_seq_lengthgeluprojector_hidden_actdefault)r   fullvision_feature_select_strategyvision_feature_layerTmultimodal_projector_biasFtie_word_embeddingsc           
         t        | j                  t              rT| j                  j                  dd      | j                  d<   t	        | j                  d      di | j                  | _        n'| j                  t	        d   ddddddd	d
      | _        t        | j
                  t              rT| j
                  j                  dd      | j
                  d<   t	        | j
                  d      di | j
                  | _        n| j
                  t	        d          | _        | j                  s1| j
                  j                  r| j
                  j                  | _        t        |    di | y )N
model_typeclip_vision_modeli   i      iP        r   i   )intermediate_sizehidden_size
patch_size
image_sizenum_hidden_layersnum_attention_heads
vocab_sizeprojection_dimllama )	
isinstancer   dictgetr	   r   r   super__post_init__)selfkwargs	__class__s     ~/var/www/vps2.regionflexible.com/Desarrollo/venv/lib/python3.12/site-packages/transformers/models/llava/configuration_llava.pyr2   zLlavaConfig.__post_init__A   sK   d(($//3/A/A/E/ElTg/hD|,!/0B0B<0P!Q!gTXTfTf!gD'!/0C!D"& "$$& "	"D d&&--1-=-=-A-A,PW-XD\*-d.>.>|.LMaPTP`P`aD%-g68D
 ''D,<,<,P,P'+'7'7'K'KD$''    )__name__
__module____qualname____doc__r   attribute_mapr
   sub_configsr   r/   r   __annotations__r   r   intr   r   strr   r   r   listr   boolr   r2   __classcell__)r5   s   @r6   r   r      s    , J-M #-zJK48M4**T1826K((4/6"s"c &#&AJ"G,=$>J,.#S	/.&*t* %%( (r7   r   N)r;   typingr   huggingface_hub.dataclassesr   configuration_utilsr   utilsr   autor	   r
   r   __all__r-   r7   r6   <module>rJ      sP       . 3 # - 56C(" C(  7C(L /r7   