
    i^                        d dl mZ ddlmZ ddlmZmZ ddlmZm	Z	  ej                  e      Z ed      e G d	 d
e                    Z ed      e G d de                    Z ed      e G d de                    Zg dZy)    )strict   )PreTrainedConfig)auto_docstringlogging   )CONFIG_MAPPING
AutoConfigzdeepseek-community/Janus-Pro-1B)
checkpointc                   f   e Zd ZU dZdZ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e   z  eeef   z  ed<   dZeee   z  eeef   z  ed<   dZeed<   dZeed<   dZeez  ed<   dZeez  ed<   dZeed<   dZeez  ed<   dZeed<   dZeez  ed<   dZeed<   dZeed <   d!Zeed"<   d#Zeed$<   y%)&JanusVisionConfigz
    projection_dropout (`float`, *optional*, defaults to 0.0):
        Dropout probability for the projection layer.
    num_image_tokens (`int`, *optional*, defaults to 576):
        Number of image tokens.
    janus_vision_modelvision_configi   hidden_size   num_hidden_layers   num_attention_headsr   num_channelsi  
image_size
patch_sizegelu
hidden_actgư>layer_norm_eps        attention_dropoutg      @	mlp_ratioTattention_biashidden_dropout_rate   projection_dimprojection_dropoutFuse_qk_norm{Gz?initializer_ranger   depthi@  num_image_tokensN)__name__
__module____qualname____doc__
model_typebase_config_keyr   int__annotations__r   r   r   r   listtupler   r   strr   floatr   r   r   boolr   r!   r"   r#   r%   r&   r'        ~/var/www/vps2.regionflexible.com/Desarrollo/venv/lib/python3.12/site-packages/transformers/models/janus/configuration_janus.pyr   r      s    &J%OKs!!L#47Jd3i%S/1746Jd3i%S/16J NE %(us{( Ius{ ND'**NC&))K#u#E3Ncr6   r   c                      e Zd ZU dZdZ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   eedf   z  ed<   dZeed<   dZeez  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!<   y")#JanusVQVAEConfiga  
    base_channels (`int`, *optional*, defaults to 128):
        Base channel count.
    channel_multiplier (`list[int]`, *optional*, defaults to `[1, 1, 2, 2, 4]`):
        Channel multipliers for each resolution.
    num_res_blocks (`int`, *optional*, defaults to 2):
        Number of residual blocks.
    num_patches (`int`, *optional*, defaults to 32):
        Num of patches the input images can be divided into.
    out_channels (`int`, *optional*, defaults to 3):
        Number of out channels.
    image_token_embed_dim (`int`, *optional*, defaults to 2048):
        Dimension of image embeddings. It should be same as the dimensionality of text embeddings.
    janus_vqgan	vq_config   	embed_dimi @  num_embeddingsFdouble_latent   latent_channelsr   in_channels   base_channels)   rE   r   r      .channel_multiplierr   num_res_blocksr   dropoutr$   r%       num_patchesout_channelsr    r!   r   r   r   image_token_embed_dimN)r(   r)   r*   r+   r,   r-   r=   r.   r/   r>   r?   r4   rA   rB   rD   rG   r0   r1   rH   rI   r3   r%   rK   rL   r!   r   r   r2   rM   r5   r6   r7   r9   r9   @   s     J!OIsNCM4OSKM36ES	E#s(O3ENCGUS[#u#KL#NCsJ!%3%r6   r9   c                        e Zd ZU dZdZe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z  dz  ed<   dZeed	<    fd
Z xZS )JanusConfiga  
    Example:

    ```python
    >>> from transformers import JanusForConditionalGeneration, JanusConfig, JanusVisionConfig, JanusVQVAEConfig, LlamaConfig

    >>> # Initializing a Janus vision config
    >>> vision_config = JanusVisionConfig()

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

    >>> # Initializing a VQ config
    >>> vq_config = JanusVQVAEConfig()

    >>> # Initializing a Janus Pro 1B style configuration
    >>> configuration = JanusConfig(vision_config=vision_config, text_config=text_config, vq_config=vq_config)

    >>> # Initializing a model from the Janus Pro 1B style configuration
    >>> model = JanusForConditionalGeneration(configuration)

    >>> # Accessing the model configuration
    >>> configuration = model.config
    ```janus)text_configr   r;   NrQ   r   r;   i image_token_idc                 r   t        | j                  t              rT| j                  j                  dd      | j                  d<   t	        | j                  d      di | j                  | _        n3| j                  't
        j                  d       t	        d          | _        | j                  %t
        j                  d       t               | _        n4t        | j                  t              rt        di | j                  | _        | j                  %t
        j                  d       t               | _	        n4t        | j                  t              rt        di | j                  | _	        | j                  j                  | j                  j                  z  | j                  _        t        | <  di | y )Nr,   llamaz7`text_config` is None. Initializing with default valueszK`vision_config` is None. Initializing with default JanusVisionConfig valueszF`vq_config` is None. Initializing with default JanusVQVAEConfig valuesr5   )
isinstancerQ   dictgetr	   loggerinfor   r   r;   r9   r   r   rK   super__post_init__)selfkwargs	__class__s     r7   r[   zJanusConfig.__post_init__   sN   d&&--1-=-=-A-A,PW-XD\*-d.>.>|.LMaPTP`P`aD%KKQR-g68D%KKef!2!4D**D1!2!HT5G5G!HD>>!KK`a-/DN--??DN &*%7%7%B%BdFXFXFcFc%c"''r6   )r(   r)   r*   r+   r,   r
   r   r9   sub_configsrQ   rV   r   r/   r   r;   rR   r.   r[   __classcell__)r^   s   @r7   rO   rO   g   st    2 J!*%K 37K((4/648M4**T1804It&&-4 NC ( (r6   rO   )r9   r   rO   N)huggingface_hub.dataclassesr   configuration_utilsr   utilsr   r   autor	   r
   
get_loggerr(   rX   r   r9   rO   __all__r5   r6   r7   <module>rg      s   * / 3 , - 
		H	% <= (    > > <="&' "&  >"&J <=<(" <(  ><(~ Cr6   