Ë
    ÛÓ^jT  ã                   ó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 EfficientNet model configurationé    )Ústricté   )ÚPreTrainedConfig)Úauto_docstringzgoogle/efficientnet-b7)Ú
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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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-<   ˆ fd.„Z ˆ xZ!S )/ÚEfficientNetConfigaý  
    width_coefficient (`float`, *optional*, defaults to 2.0):
        Scaling coefficient for network width at each stage.
    depth_coefficient (`float`, *optional*, defaults to 3.1):
        Scaling coefficient for network depth at each stage.
    depth_divisor (`int`, *optional*, defaults to 8):
        A unit of network width.
    kernel_sizes (`list[int]`, *optional*, defaults to `[3, 3, 5, 3, 5, 5, 3]`):
        List of kernel sizes to be used in each block.
    out_channels (`list[int]`, *optional*, defaults to `[16, 24, 40, 80, 112, 192, 320]`):
        List of output channel sizes to be used in each block for convolutional layers.
    depthwise_padding (`list[int]`, *optional*, defaults to `[]`):
        List of block indices with square padding.
    num_block_repeats (`list[int]`, *optional*, defaults to `[1, 2, 2, 3, 3, 4, 1]`):
        List of the number of times each block is to repeated.
    expand_ratios (`list[int]`, *optional*, defaults to `[1, 6, 6, 6, 6, 6, 6]`):
        List of scaling coefficient of each block.
    squeeze_expansion_ratio (`float`, *optional*, defaults to 0.25):
        Squeeze expansion ratio.
    pooling_type (`str` or `function`, *optional*, defaults to `"mean"`):
        Type of final pooling to be applied before the dense classification head. Available options are [`"mean"`,
        `"max"`]
    batch_norm_momentum (`float`, *optional*, defaults to 0.99):
        The momentum used by the batch normalization layers.
    drop_connect_rate (`float`, *optional*, defaults to 0.2):
        The drop rate for skip connections.

    Example:
    ```python
    >>> from transformers import EfficientNetConfig, EfficientNetModel

    >>> # Initializing a EfficientNet efficientnet-b7 style configuration
    >>> configuration = EfficientNetConfig()

    >>> # Initializing a model (with random weights) from the efficientnet-b7 style configuration
    >>> model = EfficientNetModel(configuration)

    >>> # Accessing the model configuration
    >>> configuration = model.config
    ```Úefficientnetr   Únum_channelsiX  Ú
image_sizeg       @Úwidth_coefficientgÍÌÌÌÌÌ@Údepth_coefficienté   Údepth_divisor)r   r   é   r   r   r   r   .Úkernel_sizes)é    é   é   é(   éP   ép   éÀ   Úin_channels)r   r   r   r   r   r   i@  Úout_channels© Údepthwise_padding)é   é   r   r   r   r   r   Ústrides)r   r   r   r   r   é   r   Únum_block_repeats)r   é   r#   r#   r#   r#   r#   Úexpand_ratiosg      Ð?Úsqueeze_expansion_ratioÚswishÚ
hidden_acti 
  Ú
hidden_dimÚmeanÚpooling_typeg{®Gáz”?Úinitializer_rangegü©ñÒMbP?Úbatch_norm_epsg®Gáz®ï?Úbatch_norm_momentumg      à?Údropout_rategš™™™™™É?Údrop_connect_ratec                 ó^   •— t        ‰| �  di |¤Ž t        | j                  «      dz  | _        y )Nr!   r   )ÚsuperÚ__post_init__Úsumr"   Únum_hidden_layers)ÚselfÚkwargsÚ	__class__s     €ú†/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/transformers/models/efficientnet/configuration_efficientnet.pyr2   z EfficientNetConfig.__post_init__Z   s+   ø€ Ü‰ÑÑ' Ò'Ü!$ T×%;Ñ%;Ó!<¸qÑ!@ˆÕó    )"Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú
model_typer   ÚintÚ__annotations__r   ÚlistÚtupler   Úfloatr   r   r   r   r   r   r    r"   r$   r%   r'   Ústrr(   r*   r+   r,   r-   r.   r/   r2   Ú__classcell__)r7   s   @r8   r	   r	      sŠ  ø… ñ'ðR  €Jà€L�#ÓØ47€J��d˜3‘i‘ %¨¨S¨¡/Ñ1Ó7Ø"Ð�uÓ"Ø"Ð�uÓ"Ø€M�3ÓØ0E€L�$�s‘)˜e C¨ H™oÑ-ÓEØ/M€K��c‘˜U 3¨ 8™_Ñ,ÓMØ0O€L�$�s‘)˜e C¨ H™oÑ-ÓOØ57Ð�t˜C‘y 5¨¨c¨¡?Ñ2Ó7Ø+@€GˆT�#‰Y˜˜s C˜x™Ñ(Ó@Ø5JÐ�t˜C‘y 5¨¨c¨¡?Ñ2ÓJØ1F€M�4˜‘9˜u S¨# X™Ñ.ÓFØ%)Ð˜UÓ)Ø€J�ÓØ€J�ÓØ€L�#ÓØ#Ð�uÓ#Ø!€N�EÓ!Ø!%Ð˜Ó%Ø #€L�%˜#‘+Ó#Ø%(Ð�u˜s‘{Ó(÷Að Ar9   r	   N)	r=   Úhuggingface_hub.dataclassesr   Úconfiguration_utilsr   Úutilsr   r	   Ú__all__r   r9   r8   ú<module>rJ      sN   ðñ 'å .å 3Ý #ñ Ð3Ô4ØôDAÐ)ó DAó ó 5ðDAðN  Ð
 �r9   