ó
    qyüiƒ  ã                   óþ   • S SK Jr  SSKJr  SSKJrJr  SSKJrJ	r	  \R                  " \5      r\" SS9\ " S	 S
\5      5       5       r\" SS9\ " S S\5      5       5       r\" SS9\ " S S\5      5       5       r/ SQrg)é    )Ústricté   )ÚPreTrainedConfig)Úauto_docstringÚloggingé   )ÚCONFIG_MAPPINGÚ
AutoConfigzdeepseek-community/Janus-Pro-1B)Ú
checkpointc                   ón  • \ rS rSr% SrSrSrSr\\	S'   Sr
\\	S'   S	r\\	S
'   Sr\\	S'   Sr\\\   -  \\\4   -  \	S'   S	r\\\   -  \\\4   -  \	S'   Sr\\	S'   Sr\\	S'   Sr\\-  \	S'   Sr\\-  \	S'   Sr\\	S'   Sr\\-  \	S'   Sr\\	S'   Sr\\-  \	S'   Sr\\	S'   S r\\	S!'   S"r\\	S#'   S$r\\	S%'   S&r g')(ÚJanusVisionConfigé   zÁ
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_tokens© N)!Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__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(   Ú__static_attributes__r)   ó    Új/home/mande/repo/quber/.venv/lib/python3.13/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Ör9   r   c                   ó  • \ rS rSr% SrSrSrSr\\	S'   Sr
\\	S'   S	r\\	S
'   Sr\\	S'   Sr\\	S'   Sr\\	S'   Sr\\   \\S4   -  \	S'   Sr\\	S'   Sr\\-  \	S'   Sr\\	S'   Sr\\	S'   Sr\\	S'   Sr\\	S'   Sr\\	S'   S r\\	S!'   Sr\\	S"'   S#rg$)%ÚJanusVQVAEConfigé@   al  
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)é   rI   r   r   é   .Úchannel_multiplierr   Únum_res_blocksr   Údropoutr%   r&   é    Únum_patchesÚout_channelsr!   r"   r   r   r   Úimage_token_embed_dimr)   N)r*   r+   r,   r-   r.   r/   r0   rA   r1   r2   rB   rC   r7   rE   rF   rH   rK   r3   r4   rL   rM   r6   r&   rO   rP   r"   r   r   r5   rQ   r8   r)   r9   r:   r<   r<   @   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Ö%r9   r<   c                   ó¨   ^ • \ rS rSr% SrSr\\\S.r	Sr
\\-  S-  \S'   Sr\\-  S-  \S'   Sr\\-  S-  \S'   S	r\\S
'   Sr\\S'   U 4S jrSrU =r$ )ÚJanusConfigég   aÕ  
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?   NrV   r   r?   iåˆ Úimage_token_idTÚtie_word_embeddingsc                 óœ  >• [        U R                  [        5      (       aU  U R                  R                  SS5      U R                  S'   [        U R                  S      " S0 U R                  D6U l        O5U R                  c(  [
        R                  S5        [        S   " 5       U l        U R                  c%  [
        R                  S5        [        5       U l        O9[        U R                  [        5      (       a  [        S0 U R                  D6U l        U R                  c%  [
        R                  S5        [        5       U l	        O9[        U R                  [        5      (       a  [        S0 U R                  D6U l	        U R                  R                  U R                  R                  -  U R                  l        [        TU ]<  " S0 UD6  g )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 valuesr)   )Ú
isinstancerV   ÚdictÚgetr	   ÚloggerÚinfor   r   r?   r<   r   r   rO   ÚsuperÚ__post_init__)ÚselfÚkwargsÚ	__class__s     €r:   ra   ÚJanusConfig.__post_init__�   sW  ø€ Ü�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Ñ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ˆ�‰Ô"Ü‰ÒÑ' Ó'r9   )r*   r+   r,   r-   r.   r/   r
   r   r<   Úsub_configsrV   r\   r   r2   r   r?   rW   r1   rX   r7   ra   r8   Ú__classcell__)rd   s   @r:   rS   rS   g   s   ø‡ ñð2 €Jà!Ø*Ø%ñ€Kð 37€K�Ð(Ñ(¨4Ñ/Ó6Ø48€M�4Ð*Ñ*¨TÑ1Ó8Ø04€IˆtÐ&Ñ&¨Ñ-Ó4Ø €N�CÓ Ø $Ð˜Ó$÷(ó (r9   rS   )r<   r   rS   N)Úhuggingface_hub.dataclassesr   Úconfiguration_utilsr   Úutilsr   r   Úautor	   r
   Ú
get_loggerr*   r^   r   r<   rS   Ú__all__r)   r9   r:   Ú<module>rn      s­   ðõ* /å 3ß ,ß -ð 
×	Ò	˜HÓ	%€ñ Ð<Ñ=Øô Ð(ó  ó ó >ð ñ> Ð<Ñ=Øô"&Ð'ó "&ó ó >ð"&ñJ Ð<Ñ=Øô=(Ð"ó =(ó ó >ð=(ò@ C�r9   