Ë
    ÛÓ^jV  ã                   óx   — d Z ddlmZ ddlmZ ddlmZ ddlmZ  ed¬«      e G d	„ d
ee«      «       «       Z	d
gZ
y)zBiT model configurationé    )Ústricté   )ÚBackboneConfigMixin)ÚPreTrainedConfig)Úauto_docstringzgoogle/bit-50)Ú
checkpointc                   óR  ‡ — e Zd ZU dZdZddgZg d¢Z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	d<   dZee	d<   dZed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<   dZee   dz  e	d<   dZee   dz  e	d<   ˆ fd„Zd „ Zˆ xZS )!Ú	BitConfiga&  
    layer_type (`str`, *optional*, defaults to `"preactivation"`):
        The layer to use, it can be either `"preactivation"` or `"bottleneck"`.
    global_padding (`str`, *optional*):
        Padding strategy to use for the convolutional layers. Can be either `"valid"`, `"same"`, or `None`.
    num_groups (`int`, *optional*, defaults to 32):
        Number of groups used for the `BitGroupNormActivation` layers.
    embedding_dynamic_padding (`bool`, *optional*, defaults to `False`):
        Whether or not to make use of dynamic padding for the embedding layer.
    width_factor (`int`, *optional*, defaults to 1):
        The width factor for the model.

    Example:
    ```python
    >>> from transformers import BitConfig, BitModel

    >>> # Initializing a BiT bit-50 style configuration
    >>> configuration = BitConfig()

    >>> # Initializing a model (with random weights) from the bit-50 style configuration
    >>> model = BitModel(configuration)

    >>> # Accessing the model configuration
    >>> configuration = model.config
    ```
    ÚbitÚpreactivationÚ
bottleneck)NÚSAMEÚVALIDr   Únum_channelsé@   Úembedding_size)é   i   i   i   .Úhidden_sizes)r   é   é   r   ÚdepthsÚ
layer_typeÚreluÚ
hidden_actNÚglobal_paddingé    Ú
num_groupsg        Údrop_path_rateFÚembedding_dynamic_paddingÚoutput_strideé   Úwidth_factorÚ_out_featuresÚ_out_indicesc                 óÊ  •— t        | j                  «      | _        t        | j                  «      | _        | j                  �| j                  j	                  «       | _        dgt        dt        | j                  «      dz   «      D �cg c]  }d|› �‘Œ	 c}z   | _        | j                  |j                  dd «      |j                  dd «      ¬«       t        ‰| �,  di |¤Ž y c c}w )NÚstemr!   ÚstageÚout_indicesÚout_features)r(   r)   © )Úlistr   r   r   ÚupperÚrangeÚlenÚstage_namesÚ"set_output_features_output_indicesÚpopÚsuperÚ__post_init__)ÚselfÚkwargsÚidxÚ	__class__s      €út/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/transformers/models/bit/configuration_bit.pyr3   zBitConfig.__post_init__H   sÇ   ø€ Ü  ×!2Ñ!2Ó3ˆÔÜ˜4Ÿ;™;Ó'ˆŒà×ÑÐ*Ø"&×"5Ñ"5×";Ñ";Ó"=ˆDÔà"˜8ÄÀaÌÈTÏ[É[ÓIYÐ\]ÑI]Ó@^Ö&_¸¨¨s¨e¢}Ò&_Ñ_ˆÔØ×/Ñ/ØŸ
™
 =°$Ó7ÀfÇjÁjÐQ_ÐaeÓFfð 	0ô 	
ô 	‰ÑÑ' Ó'ùò '`s   ÂC c                 óþ   — | j                   | j                  vr4t        d| j                   › ddj                  | j                  «      › �«      ‚| j                  | j
                  vrt        d| j                  › d�«      ‚y)zOPart of `@strict`-powered validation. Validates the architecture of the config.zlayer_type=z is not one of ú,zPadding strategy z not supportedN)r   Úlayer_typesÚ
ValueErrorÚjoinr   Úsupported_padding)r4   s    r8   Úvalidate_architecturezBitConfig.validate_architectureV   sw   € à�?‰? $×"2Ñ"2Ñ2Ü˜{¨4¯?©?Ð*;¸?È3Ï8É8ÐTX×TdÑTdÓKeÐJfÐgÓhÐhà×Ñ d×&<Ñ&<Ñ<ÜÐ0°×1DÑ1DÐ0EÀ^ÐTÓUÐUð =ó    )Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú
model_typer;   r>   r   ÚintÚ__annotations__r   r   r+   Útupler   r   Ústrr   r   r   r   Úfloatr   Úboolr    r"   r#   r$   r3   r?   Ú__classcell__)r7   s   @r8   r
   r
      só   ø… ñð6 €JØ" LÐ1€KÚ/Ðà€L�#ÓØ€N�CÓØ0F€L�$�s‘)˜e C¨ H™oÑ-ÓFØ*6€FˆD�‰I˜˜c 3˜h™Ñ'Ó6Ø%€J�Ó%Ø€J�ÓØ!%€N�C˜$‘JÓ%Ø€J�ÓØ"%€N�E˜C‘KÓ%Ø&+Ð˜tÓ+Ø€M�3ÓØ€L�#ÓØ&*€M�4˜‘9˜tÑ#Ó*Ø%)€L�$�s‘)˜dÑ"Ó)ô(öVr@   r
   N)rD   Úhuggingface_hub.dataclassesr   Úbackbone_utilsr   Úconfiguration_utilsr   Úutilsr   r
   Ú__all__r*   r@   r8   ú<module>rR      sR   ðñ å .å 1Ý 3Ý #ñ ˜?Ô+ØôCVÐ#Ð%5ó CVó ó ,ðCVðL ˆ-�r@   