§
    ‚Štjü  ã                   ó  — 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d
dgZdS )é    )Ústricté   )ÚPreTrainedConfig)Úauto_docstringÚloggingé   )ÚCONFIG_MAPPINGÚ
AutoConfigz$HuggingFaceTB/SmolVLM2-2.2B-Instruct)Ú
checkpointc                   ó  — 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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d<   dS )ÚSmolVLMVisionConfiga  
    Example:

    ```python
    >>> from transformers.models.smolvlm.modeling_smolvlm import SmolVLMVisionTransformer
    >>> from transformers.models.smolvlm.configuration_smolvlm import SmolVLMVisionConfig

    >>> # Initializing a SmolVLMVisionConfig with google/siglip-so400m-patch14-384 style configuration
    >>> configuration = SmolVLMVisionConfig()

    >>> # Initializing a SmolVLMVisionTransformer (with random weights) from the google/siglip-so400m-patch14-384 style configuration
    >>> model = SmolVLMVisionTransformer(configuration)

    >>> # Accessing the model configuration
    >>> configuration = model.config
    ```Úsmolvlm_visionÚvision_configi€  Úhidden_sizei   Úintermediate_sizeé   Únum_hidden_layersé   Únum_attention_headsr   Únum_channelséà   Ú
image_sizeé    Ú
patch_sizeÚgelu_pytorch_tanhÚ
hidden_actg�íµ ÷Æ°>Úlayer_norm_epsg        Úattention_dropoutg{®Gáz”?Úinitializer_rangeN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú
model_typeÚbase_config_keyr   ÚintÚ__annotations__r   r   r   r   r   ÚlistÚtupler   r   Ústrr   Úfloatr   r   © ó    úo/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/transformers/models/smolvlm/configuration_smolvlm.pyr   r   !   s  € € € € € € ðð ð" "€JØ%€Oà€K�ÐÐÑØ!Ð�sÐ!Ð!Ñ!ØÐ�sÐÐÑØ!Ð˜Ð!Ð!Ñ!Ø€L�#ÐÐÑØ47€J��d˜3”i‘ %¨¨S¨¤/Ñ1Ð7Ð7Ñ7Ø46€J��d˜3”i‘ %¨¨S¨¤/Ñ1Ð6Ð6Ñ6Ø)€J�Ð)Ð)Ñ)Ø €N�EÐ Ð Ñ Ø%(Ð�u˜s‘{Ð(Ð(Ñ(Ø#Ð�uÐ#Ð#Ñ#Ð#Ð#r-   r   c                   ó²   ‡ — e Zd ZU dZdZeedœZdZe	e
d<   dZee
d<   dZe	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d
z  e
d<   ˆ fd„Zˆ xZS )ÚSmolVLMConfigaÆ  
    scale_factor (`int`, *optional*, defaults to 2):
        The scale factor for the image encoder.

    Example:
    ```python
    >>> from transformers import SmolVLMModel, SmolVLMConfig
    >>> # Initializing configuration
    >>> configuration = SmolVLMConfig()
    >>> # Initializing a model from the configuration
    >>> model = SmolVLMModel(configuration)
    >>> # Accessing the model configuration
    >>> configuration = model.config
    ```Úsmolvlm)Útext_configr   TÚ	use_cacheiõ Úimage_token_idFÚtie_word_embeddingsNr   r2   r   Úscale_factoriô Úpad_token_idc                 óR  •— | j         €.t          ¦   «         | _         t                               d¦  «         n0t	          | j         t
          ¦  «        rt          di | j         ¤Ž| _         t	          | j        t
          ¦  «        rK| j                             dd¦  «        | j        d<   t          | j        d                  di | j        ¤Ž| _        nB| j        €;t                               d¦  «         t          d         d| j	        ¬¦  «        | _         t          ¦   «         j        di |¤Ž d S )Nz2vision_config is None, using default vision configr$   Úllamaz4text_config is None, using default Llama text configgñhãˆµøä>)Úrms_norm_epsr7   r,   )r   r   ÚloggerÚinfoÚ
isinstanceÚdictr2   Úgetr	   r7   ÚsuperÚ__post_init__)ÚselfÚkwargsÚ	__class__s     €r.   rA   zSmolVLMConfig.__post_init__b   s%  ø€ ØÔÐ%Ý!4Ñ!6Ô!6ˆDÔÝ�KŠKÐLÑMÔMÐMÐMÝ˜Ô*­DÑ1Ô1ð 	KÝ!4Ð!JÐ!J°tÔ7IÐ!JÐ!JˆDÔå�dÔ&­Ñ-Ô-ð 	Ø-1Ô-=×-AÒ-AÀ,ÐPWÑ-XÔ-XˆDÔ˜\Ñ*Ý-¨dÔ.>¸|Ô.LÔMÐaÐaÐPTÔP`ÐaÐaˆDÔÐØÔÐ%Ý�KŠKÐNÑOÔOÐOÝ-¨gÔ6Ø!Ø!Ô.ð ñ  ô  ˆDÔð
 	�‰ŒÔÐ'Ð' Ð'Ð'Ð'Ð'Ð'r-   )r    r!   r"   r#   r$   r
   r   Úsub_configsr3   Úboolr'   r4   r&   r5   r   r>   r   r2   r6   r7   rA   Ú__classcell__)rD   s   @r.   r0   r0   E   sä   ø€ € € € € € ðð ð €JØ",Ð?RÐSÐS€Kà€IˆtÐÐÑØ €N�CÐ Ð Ñ Ø %Ð˜Ð%Ð%Ñ%Ø48€M�4Ð*Ñ*¨TÑ1Ð8Ð8Ñ8Ø26€K�Ð(Ñ(¨4Ñ/Ð6Ð6Ñ6Ø€L�#ÐÐÑØ&€L�#˜‘*Ð&Ð&Ñ&ð(ð (ð (ð (ð (ð (ð (ð (ð (r-   r0   N)Úhuggingface_hub.dataclassesr   Úconfiguration_utilsr   Úutilsr   r   Úautor	   r
   Ú
get_loggerr    r;   r   r0   Ú__all__r,   r-   r.   ú<module>rN      s#  ðð. /Ð .Ð .Ð .Ð .Ð .à 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø -Ð -Ð -Ð -Ð -Ð -Ð -Ð -ð 
ˆÔ	˜HÑ	%Ô	%€ð €ÐAÐBÑBÔBØð$ð $ð $ð $ð $Ð*ñ $ô $ñ „ñ CÔBð$ðD €ÐAÐBÑBÔBØð,(ð ,(ð ,(ð ,(ð ,(Ð$ñ ,(ô ,(ñ „ñ CÔBð,(ð^ ! /Ð
2€€€r-   