Ë
    ÛÓ^jƒ  ã                   ó  — 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ç{®Gáz”?Ú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'   © ó    úx/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/transformers/models/janus/configuration_janus.pyr   r      s  … ñð &€JØ%€Oà€K�ÓØÐ�sÓØ!Ð˜Ó!Ø€L�#ÓØ47€J��d˜3‘i‘ %¨¨S¨¡/Ñ1Ó7Ø46€J��d˜3‘i‘ %¨¨S¨¡/Ñ1Ó6Ø€J�ÓØ €N�EÓ Ø%(Ð�u˜s‘{Ó(Ø €Iˆu�s‰{Ó Ø€N�DÓØ'*Ð˜ ™Ó*Ø€N�CÓØ&)Ð˜ ™Ó)Ø€K�ÓØ#Ð�uÓ#Ø€Eˆ3ƒNØÐ�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à€IˆsÓØ€N�CÓØ€M�4ÓØ€O�SÓØ€K�ÓØ€M�3ÓØ6EÐ˜˜S™	 E¨#¨s¨(¡OÑ3ÓEØ€N�CÓØ€GˆU�S‰[ÓØ#Ð�uÓ#Ø€K�ÓØ€L�#ÓØ€N�CÓØÐ�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	<   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_idTÚtie_word_embeddingsc                 ó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Ó-XˆD×Ñ˜\Ñ*Ü-¨d×.>Ñ.>¸|Ñ.LÑMÑaÐPT×P`ÑP`ÑaˆDÕØ×ÑÐ%Ü�K‰KÐQÔRÜ-¨gÑ6Ó8ˆDÔà×ÑÐ%Ü�K‰KÐeÔfÜ!2Ó!4ˆDÕÜ˜×*Ñ*¬DÔ1Ü!2Ñ!H°T×5GÑ5GÑ!HˆDÔà�>‰>Ð!Ü�K‰KÐ`ÔaÜ-Ó/ˆD�NÜ˜Ÿ™¬Ô-Ü-Ñ?°·±Ñ?ˆDŒNð &*×%7Ñ%7×%BÑ%BÀd×FXÑFX×FcÑFcÑ%cˆ�‰Ô"Ü‰ÑÑ' Ó'r6   )r(   r)   r*   r+   r,   r
   r   r9   Úsub_configsrQ   rW   r   r/   r   r;   rR   r.   rS   r4   r\   Ú__classcell__)r_   s   @r7   rO   rO   g   s   ø… ñð2 €Jà!Ø*Ø%ñ€Kð 37€K�Ð(Ñ(¨4Ñ/Ó6Ø48€M�4Ð*Ñ*¨TÑ1Ó8Ø04€IˆtÐ&Ñ&¨Ñ-Ó4Ø €N�CÓ Ø $Ð˜Ó$÷(ð (r6   rO   )r9   r   rO   N)Úhuggingface_hub.dataclassesr   Úconfiguration_utilsr   Úutilsr   r   Úautor	   r
   Ú
get_loggerr(   rY   r   r9   rO   Ú__all__r5   r6   r7   ú<module>rh      s¯   ðõ* /å 3ß ,ß -ð 
ˆ×	Ñ	˜HÓ	%€ñ Ð<Ô=Øô Ð(ó  ó ó >ð ñ> Ð<Ô=Øô"&Ð'ó "&ó ó >ð"&ñJ Ð<Ô=Øô=(Ð"ó =(ó ó >ð=(ò@ C�r6   