§
    ‚ŠtjT  ã                   ó„   — 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d
S )z EfficientNet model configurationé    )Ústricté   )ÚPreTrainedConfig)Úauto_docstringzgoogle/efficientnet-b7)Ú
checkpointc                   óp  ‡ — 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                 ór   •—  t          ¦   «         j        di |¤Ž t          | j        ¦  «        dz  | _        d S )Nr!   r   )ÚsuperÚ__post_init__Úsumr"   Únum_hidden_layers)ÚselfÚkwargsÚ	__class__s     €úy/var/www/html/CA-Chatbot/venv/lib/python3.11/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	      sA  ø€ € € € € € ð'ð 'ðR  €Jà€L�#ÐÐÑØ47€J��d˜3”i‘ %¨¨S¨¤/Ñ1Ð7Ð7Ñ7Ø"Ð�uÐ"Ð"Ñ"Ø"Ð�uÐ"Ð"Ñ"Ø€M�3ÐÐÑØ0E€L�$�s”)˜e C¨ HœoÑ-ÐEÐEÑEØ/M€K��c”˜U 3¨ 8œ_Ñ,ÐMÐMÑMØ0O€L�$�s”)˜e C¨ HœoÑ-ÐOÐOÑOØ57Ð�t˜C”y 5¨¨c¨¤?Ñ2Ð7Ð7Ñ7Ø+@€GˆT�#ŒY˜˜s C˜xœÑ(Ð@Ð@Ñ@Ø5JÐ�t˜C”y 5¨¨c¨¤?Ñ2ÐJÐJÑJØ1F€M�4˜”9˜u S¨# XœÑ.ÐFÐFÑFØ%)Ð˜UÐ)Ð)Ñ)Ø€J�ÐÐÑØ€J�ÐÐÑØ€L�#ÐÐÑØ#Ð�uÐ#Ð#Ñ#Ø!€N�EÐ!Ð!Ñ!Ø!%Ð˜Ð%Ð%Ñ%Ø #€L�%˜#‘+Ð#Ð#Ñ#Ø%(Ð�u˜s‘{Ð(Ð(Ñ(ðAð Að Að Að Að Að Að Að Ar9   r	   N)	r=   Úhuggingface_hub.dataclassesr   Úconfiguration_utilsr   Úutilsr   r	   Ú__all__r   r9   r8   ú<module>rJ      s²   ðð 'Ð &à .Ð .Ð .Ð .Ð .Ð .à 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø #Ð #Ð #Ð #Ð #Ð #ð €Ð3Ð4Ñ4Ô4ØðDAð DAð DAð DAð DAÐ)ñ DAô DAñ „ñ 5Ô4ðDAðN  Ð
 €€€r9   