§
    ‚Štj?  ã                   ó„   — d Z ddlmZ ddlmZ ddlmZ  ed¬¦  «        e G d„ d	e¦  «        ¦   «         ¦   «         Zd	gZd
S )zLXMERT model configurationé    )Ústricté   )ÚPreTrainedConfig)Úauto_docstringzunc-nlp/lxmert-base-uncased)Ú
checkpointc                   ó   ‡ — e Zd ZU dZdZi 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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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d*<   d'Z!eed+<   d'Z"eed,<   d'Z#eed-<   d'Z$eed.<   d/Z%ed/z  ed0<   d/Z&ed/z  ed1<   d/Z'ee(e         z  d/z  ed2<   d'Z)eed3<   ˆ fd4„Z*ˆ xZ+S )5ÚLxmertConfigaá  
    num_qa_labels (`int`, *optional*, defaults to 9500):
        This represents the total number of different question answering (QA) labels there are. If using more than
        one dataset with QA, the user will need to account for the total number of labels that all of the datasets
        have in total.
    num_object_labels (`int`, *optional*, defaults to 1600):
        This represents the total number of semantically unique objects that lxmert will be able to classify a
        pooled-object feature as belonging too.
    num_attr_labels (`int`, *optional*, defaults to 400):
        This represents the total number of semantically unique attributes that lxmert will be able to classify a
        pooled-object feature as possessing.
    l_layers (`int`, *optional*, defaults to 9):
        Number of hidden layers in the Transformer language encoder.
    x_layers (`int`, *optional*, defaults to 5):
        Number of hidden layers in the Transformer cross modality encoder.
    r_layers (`int`, *optional*, defaults to 5):
        Number of hidden layers in the Transformer visual encoder.
    visual_feat_dim (`int`, *optional*, defaults to 2048):
        This represents the last dimension of the pooled-object features used as input for the model, representing
        the size of each object feature itself.
    visual_pos_dim (`int`, *optional*, defaults to 4):
        This represents the number of spatial features that are mixed into the visual features. The default is set
        to 4 because most commonly this will represent the location of a bounding box. i.e., (x, y, width, height)
    visual_loss_normalizer (`float`, *optional*, defaults to 6.67):
        This represents the scaling factor in which each visual loss is multiplied by if during pretraining, one
        decided to train with multiple vision-based loss objectives.
    task_matched (`bool`, *optional*, defaults to `True`):
        This task is used for sentence-image matching. If the sentence correctly describes the image the label will
        be 1. If the sentence does not correctly describe the image, the label will be 0.
    task_mask_lm (`bool`, *optional*, defaults to `True`):
        Whether or not to add masked language modeling (as used in pretraining models such as BERT) to the loss
        objective.
    task_obj_predict (`bool`, *optional*, defaults to `True`):
        Whether or not to add object prediction, attribute prediction and feature regression to the loss objective.
    task_qa (`bool`, *optional*, defaults to `True`):
        Whether or not to add the question-answering loss to the objective
    visual_obj_loss (`bool`, *optional*, defaults to `True`):
        Whether or not to calculate the object-prediction loss objective
    visual_attr_loss (`bool`, *optional*, defaults to `True`):
        Whether or not to calculate the attribute-prediction loss objective
    visual_feat_loss (`bool`, *optional*, defaults to `True`):
        Whether or not to calculate the feature-regression loss objective
    Úlxmerti:w  Ú
vocab_sizei   Úhidden_sizeé   Únum_attention_headsi%  Únum_qa_labelsi@  Únum_object_labelsi�  Únum_attr_labelsi   Úintermediate_sizeÚgeluÚ
hidden_actgš™™™™™¹?Úhidden_dropout_probÚattention_probs_dropout_probi   Úmax_position_embeddingsé   Útype_vocab_sizeg{®Gáz”?Úinitializer_rangeé	   Úl_layersé   Úx_layersÚr_layersi   Úvisual_feat_dimé   Úvisual_pos_dimg®Gáz®@Úvisual_loss_normalizerTÚtask_matchedÚtask_mask_lmÚtask_obj_predictÚtask_qaÚvisual_obj_lossÚvisual_attr_lossÚvisual_feat_lossNÚpad_token_idÚbos_token_idÚeos_token_idÚtie_word_embeddingsc                 ón   •— | j         | j        | j        dœ| _         t	          ¦   «         j        di |¤Ž d S )N)ÚvisionÚcross_encoderÚlanguage© )r   r   r   Únum_hidden_layersÚsuperÚ__post_init__)ÚselfÚkwargsÚ	__class__s     €úm/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/transformers/models/lxmert/configuration_lxmert.pyr6   zLxmertConfig.__post_init__g   s@   ø€ Ø,0¬MÈDÌMÐgkÔgtÐ!uÐ!uˆÔØ�‰ŒÔÐ'Ð' Ð'Ð'Ð'Ð'Ð'ó    ),Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú
model_typeÚattribute_mapr   ÚintÚ__annotations__r   r   r   r   r   r   r   Ústrr   Úfloatr   r   r   r   r   r   r   r    r"   r#   r$   Úboolr%   r&   r'   r(   r)   r*   r+   r,   r-   Úlistr.   r6   Ú__classcell__)r9   s   @r:   r	   r	      sZ  ø€ € € € € € ð*ð *ðX €JØ€Mà€J�ÐÐÑØ€K�ÐÐÑØ!Ð˜Ð!Ð!Ñ!Ø€M�3ÐÐÑØ!Ð�sÐ!Ð!Ñ!Ø€O�SÐÐÑØ!Ð�sÐ!Ð!Ñ!Ø€J�ÐÐÑØ'*Ð˜ ™Ð*Ð*Ñ*Ø03Ð  %¨#¡+Ð3Ð3Ñ3Ø#&Ð˜SÐ&Ð&Ñ&Ø€O�SÐÐÑØ#Ð�uÐ#Ð#Ñ#Ø€HˆcÐÐÑØ€HˆcÐÐÑØ€HˆcÐÐÑØ€O�SÐÐÑØ€N�CÐÐÑØ$(Ð˜EÐ(Ð(Ñ(Ø€L�$ÐÐÑØ€L�$ÐÐÑØ!Ð�dÐ!Ð!Ñ!Ø€GˆTÐÐÑØ €O�TÐ Ð Ñ Ø!Ð�dÐ!Ð!Ñ!Ø!Ð�dÐ!Ð!Ñ!Ø#€L�#˜‘*Ð#Ð#Ñ#Ø#€L�#˜‘*Ð#Ð#Ñ#Ø+/€L�#˜˜Sœ	‘/ DÑ(Ð/Ð/Ñ/Ø $Ð˜Ð$Ð$Ñ$ð(ð (ð (ð (ð (ð (ð (ð (ð (r;   r	   N)	r?   Úhuggingface_hub.dataclassesr   Úconfiguration_utilsr   Úutilsr   r	   Ú__all__r3   r;   r:   ú<module>rM      sª   ðð !Ð  à .Ð .Ð .Ð .Ð .Ð .à 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø #Ð #Ð #Ð #Ð #Ð #ð €Ð8Ð9Ñ9Ô9ØðQ(ð Q(ð Q(ð Q(ð Q(Ð#ñ Q(ô Q(ñ „ñ :Ô9ðQ(ðh Ð
€€€r;   