§
    ‚Štjš  ã                   óJ  — d Z ddlmZ ddl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dS )zBridgeTower model configurationé    )Ústricté   )ÚPreTrainedConfig)Úauto_docstringÚloggingzBridgeTower/bridgetower-base)Ú
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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z  ed<   dZeed<   dZeed<   dZeed<   dZeed<   dS )ÚBridgeTowerVisionConfiga“  
    stop_gradient (`bool`, *optional*, defaults to `False`):
        Whether to stop gradient for training.
    share_layernorm (`bool`, *optional*, defaults to `True`):
        Whether LayerNorm layers are shared.
    remove_last_layer (`bool`, *optional*, defaults to `False`):
        Whether to remove the last layer from the vision encoder.

    Example:

    ```python
    >>> from transformers import BridgeTowerVisionConfig

    >>> # Initializing a BridgeTower BridgeTower/bridgetower-base style configuration for the vision model
    >>> configuration = BridgeTowerVisionConfig()

    >>> # Accessing the configuration
    >>> configuration
    ```Úbridgetower_vision_modelÚvision_configé   Úhidden_sizeé   Únum_hidden_layersr   Únum_channelsé   Ú
patch_sizei   Ú
image_sizeé   Úinitializer_factorçñhãˆµøä>Úlayer_norm_epsFÚstop_gradientTÚshare_layernormÚremove_last_layerN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú
model_typeÚbase_config_keyr   ÚintÚ__annotations__r   r   r   ÚlistÚtupler   r   Úfloatr   r   Úboolr   r   © ó    úw/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/transformers/models/bridgetower/configuration_bridgetower.pyr
   r
      sù   € € € € € € ðð ð( ,€JØ%€Oà€K�ÐÐÑØÐ�sÐÐÑØ€L�#ÐÐÑØ46€J��d˜3”i‘ %¨¨S¨¤/Ñ1Ð6Ð6Ñ6Ø47€J��d˜3”i‘ %¨¨S¨¤/Ñ1Ð7Ð7Ñ7Ø&'Ð˜ ™Ð'Ð'Ñ'Ø!€N�EÐ!Ð!Ñ!Ø€M�4ÐÐÑØ €O�TÐ Ð Ñ Ø#Ð�tÐ#Ð#Ñ#Ð#Ð#r)   r
   c                   óN  — 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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d<   dZeed<   dZedz  ed<   dZedz  ed<   dZeee         z  dz  ed<   dZeed <   d!Zeed"<   d!Zeed#<   dS )$ÚBridgeTowerTextConfiga2  
    Example:

    ```python
    >>> from transformers import BridgeTowerTextConfig

    >>> # Initializing a BridgeTower BridgeTower/bridgetower-base style configuration for the text model
    >>> configuration = BridgeTowerTextConfig()

    >>> # Accessing the configuration
    >>> configuration
    ```Úbridgetower_text_modelÚtext_configiYÄ  Ú
vocab_sizer   r   r   r   Únum_attention_headsr   r   i   Úintermediate_sizeÚgeluÚ
hidden_actgš™™™™™¹?Úhidden_dropout_probÚattention_probs_dropout_probi  Úmax_position_embeddingsÚtype_vocab_sizer   r   NÚpad_token_idr   Úbos_token_idé   Úeos_token_idTÚ	use_cacheFÚ
is_decoderÚadd_cross_attention)r   r   r   r   r    r!   r/   r"   r#   r   r   r0   r   r&   r1   r3   Ústrr4   r5   r6   r7   r   r8   r9   r;   r$   r<   r'   r=   r>   r(   r)   r*   r,   r,   ?   sq  € € € € € € ðð ð *€JØ#€Oà€J�ÐÐÑØ€K�ÐÐÑØÐ�sÐÐÑØ!Ð˜Ð!Ð!Ñ!Ø&'Ð˜ ™Ð'Ð'Ñ'Ø!Ð�sÐ!Ð!Ñ!Ø€J�ÐÐÑØ'*Ð˜ ™Ð*Ð*Ñ*Ø03Ð  %¨#¡+Ð3Ð3Ñ3Ø#&Ð˜SÐ&Ð&Ñ&Ø€O�SÐÐÑØ!€N�EÐ!Ð!Ñ!Ø €L�#˜‘*Ð Ð Ñ Ø €L�#˜‘*Ð Ð Ñ Ø+,€L�#˜˜Sœ	‘/ DÑ(Ð,Ð,Ñ,Ø€IˆtÐÐÑØ€J�ÐÐÑØ %Ð˜Ð%Ð%Ñ%Ð%Ð%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  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<   dZeez  dz  e
d<   dZeez  dz  e
d<   ˆ fd„Zˆ xZS )ÚBridgeTowerConfigaÈ  
    share_cross_modal_transformer_layers (`bool`, *optional*, defaults to `True`):
        Whether cross modal transformer layers are shared.
    share_link_tower_layers (`bool`, *optional*, defaults to `False`):
        Whether the bride/link tower layers are shared.
    link_tower_type (`str`, *optional*, defaults to `"add"`):
        Type of the bridge/link layer.
    init_layernorm_from_vision_encoder (`bool`, *optional*, defaults to `False`):
        Whether to init LayerNorm from the vision encoder.

    Example:

    ```python
    >>> from transformers import BridgeTowerModel, BridgeTowerConfig

    >>> # Initializing a BridgeTower BridgeTower/bridgetower-base style configuration
    >>> configuration = BridgeTowerConfig()

    >>> # Initializing a model from the BridgeTower/bridgetower-base style configuration
    >>> model = BridgeTowerModel(configuration)

    >>> # Accessing the model configuration
    >>> configuration = model.config
    ```Úbridgetower)r.   r   TÚ$share_cross_modal_transformer_layersr2   r3   r   r   r   r   r   r   FÚshare_link_tower_layersÚaddÚlink_tower_typer   r0   é   r   Útie_word_embeddingsÚ"init_layernorm_from_vision_encoderNr.   r   c                 ó&  •— |                      dd ¦  «        }|                      dd ¦  «        }| j        €.t          ¦   «         | _        t                               d¦  «         n0t          | j        t          ¦  «        rt          di | j        ¤Ž| _        | j        €.t          ¦   «         | _        t                               d¦  «         n0t          | j        t          ¦  «        rt          di | j        ¤Ž| _         t          ¦   «         j
        di |¤Ž d S )NÚtext_config_dictÚvision_config_dictzV`text_config` is `None`. initializing the `BridgeTowerTextConfig` with default values.zZ`vision_config` is `None`. initializing the `BridgeTowerVisionConfig` with default values.r(   )Úpopr.   r,   ÚloggerÚinfoÚ
isinstanceÚdictr   r
   ÚsuperÚ__post_init__)ÚselfÚkwargsÚ_Ú	__class__s      €r*   rS   zBridgeTowerConfig.__post_init__“   s  ø€ à�JŠJÐ)¨4Ñ0Ô0ˆØ�JŠJÐ+¨TÑ2Ô2ˆàÔÐ#Ý4Ñ6Ô6ˆDÔÝ�KŠKÐpÑqÔqÐqÐqÝ˜Ô(­$Ñ/Ô/ð 	IÝ4ÐHÐH°tÔ7GÐHÐHˆDÔàÔÐ%Ý!8Ñ!:Ô!:ˆDÔÝ�KŠKÐtÑuÔuÐuÐuÝ˜Ô*­DÑ1Ô1ð 	OÝ!8Ð!NÐ!N¸4Ô;MÐ!NÐ!NˆDÔà�‰ŒÔÐ'Ð' Ð'Ð'Ð'Ð'Ð'r)   )r   r   r   r   r    r,   r
   Úsub_configsrC   r'   r#   r3   r?   r   r"   r   r&   r   rD   rF   r0   r   rH   rI   r.   rQ   r   r   rS   Ú__classcell__)rW   s   @r*   rA   rA   f   sJ  ø€ € € € € € ðð ð2 €JØ"7ÐJaÐbÐb€Kà15Ð(¨$Ð5Ð5Ñ5Ø€J�ÐÐÑØ€K�ÐÐÑØ&'Ð˜ ™Ð'Ð'Ñ'Ø!€N�EÐ!Ð!Ñ!Ø$)Ð˜TÐ)Ð)Ñ)Ø €O�SÐ Ð Ñ Ø!Ð˜Ð!Ð!Ñ!ØÐ�sÐÐÑØ %Ð˜Ð%Ð%Ñ%Ø/4Ð&¨Ð4Ð4Ñ4Ø26€K�Ð(Ñ(¨4Ñ/Ð6Ð6Ñ6Ø48€M�4Ð*Ñ*¨TÑ1Ð8Ð8Ñ8ð(ð (ð (ð (ð (ð (ð (ð (ð (r)   rA   )rA   r,   r
   N)r   Úhuggingface_hub.dataclassesr   Úconfiguration_utilsr   Úutilsr   r   Ú
get_loggerr   rN   r
   r,   rA   Ú__all__r(   r)   r*   ú<module>r_      sb  ðð &Ð %à .Ð .Ð .Ð .Ð .Ð .à 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,ð 
ˆÔ	˜HÑ	%Ô	%€ð €Ð9Ð:Ñ:Ô:Øð!$ð !$ð !$ð !$ð !$Ð.ñ !$ô !$ñ „ñ ;Ô:ð!$ðH €Ð9Ð:Ñ:Ô:Øð"&ð "&ð "&ð "&ð "&Ð,ñ "&ô "&ñ „ñ ;Ô:ð"&ðJ €Ð9Ð:Ñ:Ô:Øð<(ð <(ð <(ð <(ð <(Ð(ñ <(ô <(ñ „ñ ;Ô:ð<(ð~ TÐ
SÐ
S€€€r)   