
    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MobileViTV2 model configuration    )strict   )PreTrainedConfig)auto_docstringzapple/mobilevitv2-1.0)
checkpointc                      e Zd ZU dZdZdZeed<   dZee	e   z  e
eef   z  ed<   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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   e
edf   z  ed<   dZeez  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z  ed#<   dZeed$<   d%Zeez  ed&<   d%Zeez  ed'<   y())MobileViTV2Configa  
    aspp_out_channels (`int`, *optional*, defaults to 512):
        Number of output channels used in the ASPP layer for semantic segmentation.
    atrous_rates (`list[int]`, *optional*, defaults to `[6, 12, 18]`):
        Dilation (atrous) factors used in the ASPP layer for semantic segmentation.
    aspp_dropout_prob (`float`, *optional*, defaults to 0.1):
        The dropout ratio for the ASPP layer for semantic segmentation.
    n_attn_blocks (`list[int]`, *optional*, defaults to `[2, 4, 3]`):
        The number of attention blocks in each MobileViTV2Layer
    base_attn_unit_dims (`list[int]`, *optional*, defaults to `[128, 192, 256]`):
        The base multiplier for dimensions of attention blocks in each MobileViTV2Layer
    width_multiplier (`float`, *optional*, defaults to 1.0):
        The width multiplier for MobileViTV2.
    ffn_multiplier (`int`, *optional*, defaults to 2):
        The FFN multiplier for MobileViTV2.
    ffn_dropout (`float`, *optional*, defaults to 0.0):
        The dropout between FFN layers.

    Example:

    ```python
    >>> from transformers import MobileViTV2Config, MobileViTV2Model

    >>> # Initializing a mobilevitv2-small style configuration
    >>> configuration = MobileViTV2Config()

    >>> # Initializing a model from the mobilevitv2-small style configuration
    >>> model = MobileViTV2Model(configuration)

    >>> # Accessing the model configuration
    >>> configuration = model.config
    ```mobilevitv2r   num_channels   
image_size   
patch_sizeg       @expand_ratioswish
hidden_actconv_kernel_size    output_strideg?classifier_dropout_probg{Gz?initializer_rangegh㈵>layer_norm_epsi   aspp_out_channels)         .atrous_ratesaspp_dropout_prob   semantic_loss_ignore_index)r      r   n_attn_blocks)      r   base_attn_unit_dimsg      ?width_multiplierffn_multiplierg        attn_dropoutffn_dropoutN)__name__
__module____qualname____doc__
model_typer   int__annotations__r   listtupler   r   floatr   strr   r   r   r   r   r   r   r   r    r"   r%   r&   r'   r(   r)        /var/www/vps2.regionflexible.com/Desarrollo/venv/lib/python3.12/site-packages/transformers/models/mobilevitv2/configuration_mobilevitv2.pyr	   r	      sP   B JL#47Jd3i%S/1745Jd3i%S/15L%JcM3+.US[.#u# NE  s 0;L$s)eCHo-;%(us{(&))1:M49uS#X.:7FcU38_4F$'eck'NC #L%#+#"K"r6   r	   N)	r-   huggingface_hub.dataclassesr   configuration_utilsr   utilsr   r	   __all__r5   r6   r7   <module>r<      sH    & . 3 # 237#( 7#  47#t 
r6   