Ë
    ÜÓ^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y)zPix2Struct model configurationé    )Ústricté   )ÚPreTrainedConfig)Úauto_docstringÚloggingzgoogle/pix2struct-base)Ú
checkpointc                   ól  — e Zd ZU dZdZdgZddddddd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	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d z  e	d!<   d"Zeee   z  d z  e	d#<   d Zed z  e	d$<   dZee	d%<   d&Zee	d'<   dZ ee	d(<   y ))ÚPix2StructTextConfiga®  
    relative_attention_num_buckets (`int`, *optional*, defaults to 32):
        The number of buckets to use for each attention layer.
    relative_attention_max_distance (`int`, *optional*, defaults to 128):
        The maximum distance of the longer sequences for the bucket separation.
    dense_act_fn (`Union[Callable, str]`, *optional*, defaults to `"gelu_new"`):
        The non-linear activation function (function or string).

    Example:

    ```python
    >>> from transformers import Pix2StructTextConfig, Pix2StructTextModel

    >>> # Initializing a Pix2StructTextConfig with google/pix2struct-base style configuration
    >>> configuration = Pix2StructTextConfig()

    >>> # Initializing a Pix2StructTextModel (with random weights) from the google/pix2struct-base style configuration
    >>> model = Pix2StructTextModel(configuration)

    >>> # Accessing the model configuration
    >>> configuration = model.config
    ```Úpix2struct_text_modelÚpast_key_valuesÚhidden_sizeÚ	num_headsÚ
num_layers)r   Únum_attention_headsÚnum_hidden_layersÚdecoder_attention_headsÚencoder_attention_headsÚencoder_layersÚdecoder_layersiDÄ  Ú
vocab_sizeé   é@   Úd_kvé   Úd_ffé   é    Úrelative_attention_num_bucketsé€   Úrelative_attention_max_distancegš™™™™™¹?Údropout_rateç�íµ ÷Æ°>Úlayer_norm_epsilonç      ð?Úinitializer_factorÚgelu_newÚdense_act_fnr   Údecoder_start_token_idFÚ	use_cacheNÚpad_token_idé   Úeos_token_idÚbos_token_idÚtie_word_embeddingsTÚ
is_decoderÚadd_cross_attention)!Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú
model_typeÚkeys_to_ignore_at_inferenceÚattribute_mapr   ÚintÚ__annotations__r   r   r   r   r   r   r    r!   Úfloatr#   r%   r'   Ústrr(   r)   Úboolr*   r,   Úlistr-   r.   r/   r0   © ó    ú‚/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/transformers/models/pix2struct/configuration_pix2struct.pyr
   r
      s  … ñð. )€JØ#4Ð"5Ðà$Ø*Ø)Ø#.Ø#.Ø&Ø&ñ€Mð €J�ÓØ€K�ÓØ€Dˆ#ƒNØ€Dˆ#ÓØ€J�ÓØ€IˆsÓØ*,Ð" CÓ,Ø+.Ð# SÓ.Ø #€L�%˜#‘+Ó#Ø $Ð˜Ó$Ø #Ð˜Ó#Ø"€L�#Ó"Ø"#Ð˜CÓ#Ø€IˆtÓØ €L�#˜‘*Ó Ø+,€L�#˜˜S™	‘/ DÑ(Ó,Ø#€L�#˜‘*Ó#Ø %Ð˜Ó%Ø€J�ÓØ %Ð˜Ô%r?   r
   c                   óô   — e Zd ZU 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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<   y)ÚPix2StructVisionConfiga’  
    patch_embed_hidden_size (`int`, *optional*, defaults to 768):
        Dimensionality of the input patch_embedding layer in the Transformer encoder.
    d_ff (`int`, *optional*, defaults to 2048):
        Dimensionality of the "intermediate" (i.e., feed-forward) layer in the Transformer encoder.
    d_kv (`int`, *optional*, defaults to 64):
        Dimensionality of the key, query, value projections per attention head.
    The non-linear activation function (function or string) in the encoder and pooler. If string, `"gelu"`,
        `"relu"`, `"selu"` and `"gelu_new"` `"gelu"` are supported.
    dense_act_fn (`Union[Callable, str]`, *optional*, defaults to `"gelu_new"`):
        The non-linear activation function (function or string).
    seq_len (`int`, *optional*, defaults to 4096):
        Maximum sequence length (here number of patches) supported by the model.
    relative_attention_num_buckets (`int`, *optional*, defaults to 32):
        The number of buckets to use for each attention layer.
    relative_attention_max_distance (`int`, *optional*, defaults to 128):
        The maximum distance (in tokens) to use for each attention layer.

    Example:

    ```python
    >>> from transformers import Pix2StructVisionConfig, Pix2StructVisionModel

    >>> # Initializing a Pix2StructVisionConfig with google/pix2struct-base style configuration
    >>> configuration = Pix2StructVisionConfig()

    >>> # Initializing a Pix2StructVisionModel (with random weights) from the google/pix2struct-base style configuration
    >>> model = Pix2StructVisionModel(configuration)

    >>> # Accessing the model configuration
    >>> configuration = model.config
    ```Úpix2struct_vision_modelr   r   Úpatch_embed_hidden_sizer   r   r   r   r   r   r   r&   r'   r"   Úlayer_norm_epsg        r!   Úattention_dropoutg»½×Ùß|Û=Úinitializer_ranger$   r%   i   Úseq_lenr   r   r   r    N)r1   r2   r3   r4   r5   r   r8   r9   rD   r   r   r   r   r'   r;   rE   r:   r!   rF   rG   r%   rH   r   r    r>   r?   r@   rB   rB   U   s´   … ñðB +€Jà€K�ÓØ#&Ð˜SÓ&Ø€Dˆ#ÓØ€Dˆ#ƒNØÐ�sÓØ!Ð˜Ó!Ø"€L�#Ó"Ø €N�EÓ Ø #€L�%˜#‘+Ó#Ø%(Ð�u˜s‘{Ó(Ø$Ð�uÓ$Ø #Ð˜Ó#Ø€GˆSÓØ*,Ð" CÓ,Ø+.Ð# SÔ.r?   rB   c                   ó¬   ‡ — e Zd ZU dZdZ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d<   d	Zeed
<   dZeed<   dZeed<   dZeed<   ˆ fd„Zˆ xZS )ÚPix2StructConfiga  
    is_vqa (`bool`, *optional*, defaults to `False`):
        Whether the model has been fine-tuned for VQA or not.

    Example:

    ```python
    >>> from transformers import Pix2StructConfig, Pix2StructForConditionalGeneration

    >>> # Initializing a Pix2StructConfig with google/pix2struct-base style configuration
    >>> configuration = Pix2StructConfig()

    >>> # Initializing a Pix2StructForConditionalGeneration (with random weights) from the google/pix2struct-base style configuration
    >>> model = Pix2StructForConditionalGeneration(configuration)

    >>> # Accessing the model configuration
    >>> configuration = model.config

    >>> # We can also initialize a Pix2StructConfig from a Pix2StructTextConfig and a Pix2StructVisionConfig

    >>> # Initializing a Pix2Struct text and Pix2Struct vision configuration
    >>> config_text = Pix2StructTextConfig()
    >>> config_vision = Pix2StructVisionConfig()

    >>> config = Pix2StructConfig(text_config=config_text, vision_config=config_vision)
    ```Ú
pix2struct)Útext_configÚvision_configNrL   rM   r$   r%   g{®Gáz”?rG   FÚis_vqar.   TÚis_encoder_decoderc                 óX  •— | j                   €<t        | j                  | j                  ¬«      | _         t        j                  d«       nft        | j                   t        «      rL| j                  | j                   d<   | j                  | j                   d<   t        di | j                   ¤Ž| _         | j                  €%t        «       | _        t        j                  d«       n4t        | j                  t        «      rt        di | j                  ¤Ž| _        | j                   j                  | _
        | j                   j                  | _        | j                   j                  | _        | j                  | j                   _        | j                  | j                  _        t        ‰| �<  di |¤Ž y )N)rO   r.   zU`text_config` is `None`. initializing the `Pix2StructTextConfig` with default values.rO   r.   zY`vision_config` is `None`. initializing the `Pix2StructVisionConfig` with default values.r>   )rL   r
   rO   r.   ÚloggerÚinfoÚ
isinstanceÚdictrM   rB   r(   r*   r,   rG   ÚsuperÚ__post_init__)ÚselfÚkwargsÚ	__class__s     €r@   rV   zPix2StructConfig.__post_init__µ   sO  ø€ Ø×ÑÐ#Ü3Ø#'×#:Ñ#:Ø$(×$<Ñ$<ô ˆDÔô �K‰KÐoÕpÜ˜×(Ñ(¬$Ô/Ø59×5LÑ5LˆD×ÑÐ1Ñ2Ø6:×6NÑ6NˆD×ÑÐ2Ñ3Ü3ÑG°d×6FÑ6FÑGˆDÔà×ÑÐ%Ü!7Ó!9ˆDÔÜ�K‰KÐsÕtÜ˜×*Ñ*¬DÔ1Ü!7Ñ!M¸$×:LÑ:LÑ!MˆDÔà&*×&6Ñ&6×&MÑ&MˆÔ#Ø ×,Ñ,×9Ñ9ˆÔØ ×,Ñ,×9Ñ9ˆÔà-1×-CÑ-Cˆ×ÑÔ*Ø/3×/EÑ/Eˆ×ÑÔ,ä‰ÑÑ' Ó'r?   )r1   r2   r3   r4   r5   r
   rB   Úsub_configsrL   rT   r   r9   rM   r%   r:   rG   rN   r<   r.   rO   rV   Ú__classcell__)rY   s   @r@   rJ   rJ   Œ   s„   ø… ñð6 €JØ"6ÐI_Ñ`€Kà26€K�Ð(Ñ(¨4Ñ/Ó6Ø48€M�4Ð*Ñ*¨TÑ1Ó8Ø #Ð˜Ó#Ø#Ð�uÓ#Ø€FˆDÓØ %Ð˜Ó%Ø#Ð˜Ó#÷(ð (r?   rJ   )rJ   r
   rB   N)r4   Úhuggingface_hub.dataclassesr   Úconfiguration_utilsr   Úutilsr   r   Ú
get_loggerr1   rQ   r
   rB   rJ   Ú__all__r>   r?   r@   ú<module>ra      s³   ðñ %å .å 3ß ,ð 
ˆ×	Ñ	˜HÓ	%€ñ Ð3Ô4Øô7&Ð+ó 7&ó ó 5ð7&ñt Ð3Ô4Øô2/Ð-ó 2/ó ó 5ð2/ñj Ð3Ô4Øô@(Ð'ó @(ó ó 5ð@(òF Q�r?   