
    i                     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CvT model configuration    )strict   )PreTrainedConfig)auto_docstringzmicrosoft/cvt-13)
checkpointc                      e Zd ZU dZdZdZeed<   dZe	e   e
edf   z  ed<   dZe	e   e
edf   z  ed	<   d
Ze	e   e
edf   z  ed<   dZe	e   e
edf   z  ed<   dZe	e   e
edf   z  ed<   dZe	e   e
edf   z  ed<   dZe	e   e
edf   z  ed<   dZe	e   e
edf   z  ed<   dZe	e   e
edf   z  ed<   dZe	e   e
edf   z  ed<   dZe	e   e
edf   z  ed<   dZe	e   e
edf   z  ed<   dZe	e   e
edf   z  ed<   dZe	e   e
edf   z  ed <   d!Ze	e   e
edf   z  ed"<   d#Ze	e   e
edf   z  ed$<   d!Ze	e   e
ed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*<   y+),	CvtConfiga9  
    patch_stride (`list[int]`, *optional*, defaults to `[4, 2, 2]`):
        The stride size of each encoder's patch embedding.
    patch_padding (`list[int]`, *optional*, defaults to `[2, 1, 1]`):
        The padding size of each encoder's patch embedding.
    depth (`list[int]`, *optional*, defaults to `[1, 2, 10]`):
        The number of layers in each encoder block.
    attention_drop_rate (`list[float]`, *optional*, defaults to `[0.0, 0.0, 0.0]`):
        The dropout ratio for the attention probabilities.
    drop_rate (`list[float]`, *optional*, defaults to `[0.0, 0.0, 0.0]`):
        The dropout ratio for the patch embeddings probabilities.
    cls_token (`list[bool]`, *optional*, defaults to `[False, False, True]`):
        Whether or not to add a classification token to the output of each of the last 3 stages.
    qkv_projection_method (`list[string]`, *optional*, defaults to ["dw_bn", "dw_bn", "dw_bn"]`):
        The projection method for query, key and value Default is depth-wise convolutions with batch norm. For
        Linear projection use "avg".
    kernel_qkv (`list[int]`, *optional*, defaults to `[3, 3, 3]`):
        The kernel size for query, key and value in attention layer
    padding_kv (`list[int]`, *optional*, defaults to `[1, 1, 1]`):
        The padding size for key and value in attention layer
    stride_kv (`list[int]`, *optional*, defaults to `[2, 2, 2]`):
        The stride size for key and value in attention layer
    padding_q (`list[int]`, *optional*, defaults to `[1, 1, 1]`):
        The padding size for query in attention layer
    stride_q (`list[int]`, *optional*, defaults to `[1, 1, 1]`):
        The stride size for query in attention layer

    Example:

    ```python
    >>> from transformers import CvtConfig, CvtModel

    >>> # Initializing a Cvt msft/cvt style configuration
    >>> configuration = CvtConfig()

    >>> # Initializing a model (with random weights) from the msft/cvt style configuration
    >>> model = CvtModel(configuration)

    >>> # Accessing the model configuration
    >>> configuration = model.config
    ```cvtr   num_channels)   r   r   .patch_sizes)      r   patch_stride)r      r   patch_padding)@      i  	embed_dim)r   r      	num_heads)r   r   
   depth)      @r   r   	mlp_ratio)        r   r   attention_drop_rate	drop_rate)r   r   g?drop_path_rate)TTTqkv_bias)FFT	cls_token)dw_bnr"   r"   qkv_projection_method)r   r   r   
kernel_qkv)r   r   r   
padding_kv)r   r   r   	stride_kv	padding_qstride_qg{Gz?initializer_rangeg-q=layer_norm_epsN)!__name__
__module____qualname____doc__
model_typer   int__annotations__r   listtupler   r   r   r   r   r   floatr   r   r   r    boolr!   r#   strr$   r%   r&   r'   r(   r)   r*        z/var/www/vps2.regionflexible.com/Desarrollo/venv/lib/python3.12/site-packages/transformers/models/cvt/configuration_cvt.pyr	   r	      s   (T JL#/8KcU38_,809L$s)eCHo-91:M49uS#X.:-;ItCy5c?*;-6ItCy5c?*6)3E49uS#X&31@ItE{U5#:..@;JeuUCZ'88J1@ItE{U5#:..@6ENDK%s
"33E.@Hd4j5s++@/CItDzE$),,C9T49uS#X6T.7JS	E#s(O+7.7JS	E#s(O+7-6ItCy5c?*6-6ItCy5c?*6,5Hd3i%S/)5#u#!NE!r8   r	   N)	r.   huggingface_hub.dataclassesr   configuration_utilsr   utilsr   r	   __all__r7   r8   r9   <module>r>      sJ     . 3 # -.A"  A"  /A"H -r8   