Ë
    ÜÓ^jj  ã                   ój   — 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y
)zPerceiver model configurationé    )Ústricté   )ÚPreTrainedConfig)Úauto_docstringzdeepmind/language-perceiver)Ú
checkpointc                   óê  — 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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<   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e   z  eeef   z  ed&<   d'Z ee   eed(f   z  ed)<   d*Z!eed+<   d,Z"eed-<   d*Z#eed.<   d/Z$ee   eed(f   z  ed0<   d1Z%eed2<   d3Z&eed4<   y)5ÚPerceiverConfiga�  
    num_latents (`int`, *optional*, defaults to 256):
        The number of latents.
    d_latents (`int`, *optional*, defaults to 1280):
        Dimension of the latent embeddings.
    num_blocks (`int`, *optional*, defaults to 1):
        Number of blocks in the Transformer encoder.
    num_self_attends_per_block (`int`, *optional*, defaults to 26):
        The number of self-attention layers per block.
    num_self_attention_heads (`int`, *optional*, defaults to 8):
        Number of attention heads for each self-attention layer in the Transformer encoder.
    num_cross_attention_heads (`int`, *optional*, defaults to 8):
        Number of attention heads for each cross-attention layer in the Transformer encoder.
    qk_channels (`int`, *optional*):
        Dimension to project the queries + keys before applying attention in the cross-attention and self-attention
        layers of the encoder. Will default to preserving the dimension of the queries if not specified.
    v_channels (`int`, *optional*):
        Dimension to project the values before applying attention in the cross-attention and self-attention layers
        of the encoder. Will default to preserving the dimension of the queries if not specified.
    cross_attention_shape_for_attention (`str`, *optional*, defaults to `"kv"`):
        Dimension to use when downsampling the queries and keys in the cross-attention layer of the encoder.
    self_attention_widening_factor (`int`, *optional*, defaults to 1):
        Dimension of the feed-forward layer in the cross-attention layer of the Transformer encoder.
    cross_attention_widening_factor (`int`, *optional*, defaults to 1):
        Dimension of the feed-forward layer in the self-attention layers of the Transformer encoder.
    use_query_residual (`float`, *optional*, defaults to `True`):
        Whether to add a query residual in the cross-attention layer of the encoder.
    image_size (`int`, *optional*, defaults to 56):
        Size of the images after preprocessing, for [`PerceiverForImageClassificationLearned`].
    train_size (`list[int]`, *optional*, defaults to `[368, 496]`):
        Training size of the images for the optical flow model.
    num_frames (`int`, *optional*, defaults to 16):
        Number of video frames used for the multimodal autoencoding model.
    audio_samples_per_frame (`int`, *optional*, defaults to 1920):
        Number of audio samples per frame for the multimodal autoencoding model.
    samples_per_patch (`int`, *optional*, defaults to 16):
        Number of audio samples per patch when preprocessing the audio for the multimodal autoencoding model.
    output_shape (`list[int]`, *optional*, defaults to `[1, 16, 224, 224]`):
        Shape of the output (batch_size, num_frames, height, width) for the video decoder queries of the multimodal
        autoencoding model. This excludes the channel dimension.
    output_num_channels (`int`, *optional*, defaults to 512):
        Number of output channels for each modalitiy decoder.

    Example:

    ```python
    >>> from transformers import PerceiverModel, PerceiverConfig

    >>> # Initializing a Perceiver deepmind/language-perceiver style configuration
    >>> configuration = PerceiverConfig()

    >>> # Initializing a model from the deepmind/language-perceiver style configuration
    >>> model = PerceiverModel(configuration)

    >>> # Accessing the model configuration
    >>> configuration = model.config
    ```Ú	perceiveré   Únum_latentsi   Ú	d_latentsi   Úd_modelé   Ú
num_blocksé   Únum_self_attends_per_blocké   Únum_self_attention_headsÚnum_cross_attention_headsNÚqk_channelsÚ
v_channelsÚkvÚ#cross_attention_shape_for_attentionÚself_attention_widening_factorÚcross_attention_widening_factorÚgeluÚ
hidden_actgš™™™™™¹?Úattention_probs_dropout_probg{®Gáz”?Úinitializer_rangegê-�™—q=Úlayer_norm_epsTÚuse_query_residuali  Ú
vocab_sizei   Úmax_position_embeddingsé8   Ú
image_size)ip  ið  .Ú
train_sizeé   Ú
num_framesi€  Úaudio_samples_per_frameÚsamples_per_patch)r   r'   éà   r+   Úoutput_shapei   Úoutput_num_channelsi   Ú_label_trainable_num_channels)'Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú
model_typer   ÚintÚ__annotations__r   r   r   r   r   r   r   r   r   Ústrr   r   r   r   Úfloatr   r    r!   Úboolr"   r#   r%   ÚlistÚtupler&   r(   r)   r*   r,   r-   r.   © ó    ú€/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/transformers/models/perceiver/configuration_perceiver.pyr	   r	      sn  … ñ8ðt €Jà€K�ÓØ€IˆsÓØ€GˆSÓØ€J�ÓØ&(Ð Ó(Ø$%Ð˜cÓ%Ø%&Ð˜sÓ&Ø"€K��t‘Ó"Ø!€J��d‘
Ó!Ø/3Ð'¨Ó3Ø*+Ð" CÓ+Ø+,Ð# SÓ,Ø€J�ÓØ03Ð  %¨#¡+Ó3Ø#Ð�uÓ#Ø!€N�EÓ!Ø#Ð˜Ó#Ø€J�ÓØ#'Ð˜SÓ'Ø46€J��d˜3‘i‘ %¨¨S¨¡/Ñ1Ó6Ø.8€J��S‘	˜E # s (™OÑ+Ó8Ø€J�ÓØ#'Ð˜SÓ'ØÐ�sÓØ0A€L�$�s‘)˜e C¨ H™oÑ-ÓAØ"Ð˜Ó"Ø)-Ð! 3Ô-r<   r	   N)	r2   Úhuggingface_hub.dataclassesr   Úconfiguration_utilsr   Úutilsr   r	   Ú__all__r;   r<   r=   ú<module>rB      sK   ðñ $å .å 3Ý #ñ Ð8Ô9ØôW.Ð&ó W.ó ó :ðW.ðt Ð
�r<   