
    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Pvt model configuration    )strict   )PreTrainedConfig)auto_docstringzXrenya/pvt-tiny-224)
checkpointc                      e Zd ZU dZdZdZeee   z  eeef   z  e	d<   dZ
ee	d<   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	d<   dZeez  e	d<   dZeez  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$<   y%)&	PvtConfiga  
    num_encoder_blocks (`int`, *optional*, defaults to 4):
        The number of encoder blocks (i.e. stages in the Mix Transformer encoder).
    depths (`list[int]`, *optional*, defaults to `[2, 2, 2, 2]`):
        The number of layers in each encoder block.
    sequence_reduction_ratios (`list[int]`, *optional*, defaults to `[8, 4, 2, 1]`):
        Sequence reduction ratios in each encoder block.
    patch_sizes (`list[int]`, *optional*, defaults to `[4, 2, 2, 2]`):
        Patch size before each encoder block.
    strides (`list[int]`, *optional*, defaults to `[4, 2, 2, 2]`):
        Stride before each encoder block.
    num_attention_heads (`list[int]`, *optional*, defaults to `[1, 2, 5, 8]`):
        Number of attention heads for each attention layer in each block of the Transformer encoder.
    mlp_ratios (`list[int]`, *optional*, defaults to `[8, 8, 4, 4]`):
        Ratio of the size of the hidden layer compared to the size of the input layer of the Mix FFNs in the
        encoder blocks.
    num_labels ('int', *optional*, defaults to 1000):
        The number of classes.

    Example:

    ```python
    >>> from transformers import PvtModel, PvtConfig

    >>> # Initializing a PVT Xrenya/pvt-tiny-224 style configuration
    >>> configuration = PvtConfig()

    >>> # Initializing a model from the Xrenya/pvt-tiny-224 style configuration
    >>> model = PvtModel(configuration)

    >>> # Accessing the model configuration
    >>> configuration = model.config
    ```pvt   
image_sizer   num_channels   num_encoder_blocks)   r   r   r   .depths)   r   r      sequence_reduction_ratios)@      i@  i   hidden_sizes)r   r   r   r   patch_sizesstrides)r   r      r   num_attention_heads)r   r   r   r   
mlp_ratiosgelu
hidden_actg        hidden_dropout_probattention_probs_dropout_probg{Gz?initializer_rangedrop_path_rategư>layer_norm_epsTqkv_biasi  
num_labelsN)__name__
__module____qualname____doc__
model_typer   intlisttuple__annotations__r   r   r   r   r   r   r   r   r   r   strr   floatr    r!   r"   r#   r$   boolr%        z/var/www/vps2.regionflexible.com/Desarrollo/venv/lib/python3.12/site-packages/transformers/models/pvt/configuration_pvt.pyr	   r	      sa    D J47Jd3i%S/17L#*6FDIc3h'6=ItCy5c?:I0CL$s)eCHo-C/;KcU38_,;+7GT#YsCx(77CcU38_4C.:JS	E#s(O+:J'**03 %#+3#u#"%NECK% NE HdJr3   r	   N)	r)   huggingface_hub.dataclassesr   configuration_utilsr   utilsr   r	   __all__r2   r3   r4   <module>r9      sG      . 3 # 016  6  26r -r3   