o
    i                     @   sX   d dl mZ eG dd dZeG dd dZeG dd dZeG dd	 d	Zd
S )    )	dataclassc                   @   st   e Zd ZU eed< eed< eed< eed< eed< eed< ddd	d
ddddededededededdfddZdS )BertEmbeddingConfigembedding_width
vocab_sizetype_vocab_sizemax_position_embeddingslayer_norm_epsdropout_prob   0u        -q=皙?r   r   r   r   r   r	   returnNc                C   (   || _ || _|| _|| _|| _|| _d S Nr   )selfr   r   r   r   r   r	    r   [/home/ubuntu/.local/lib/python3.10/site-packages/curated_transformers/models/bert/config.py__init__      

zBertEmbeddingConfig.__init____name__
__module____qualname__int__annotations__floatr   r   r   r   r   r      8   
 	r   c                	   @   sJ   e Zd ZU eed< eed< eed< dddddedededd	fd
dZd	S )BertAttentionConfighidden_widthnum_attention_headsr	   r
      r   r"   r#   r	   r   Nc                C   s   || _ || _|| _d S r   r%   )r   r"   r#   r	   r   r   r   r   )   s   
zBertAttentionConfig.__init__r   r   r   r   r   r!   #   s    
 r!   c                   @   st   e Zd ZU eed< eed< eed< eed< eed< eed< ddd	d
ddddededededededdfddZdS )BertLayerConfigr"   intermediate_widthnum_hidden_layers
hidden_actr   r	   r
      r$   gelur   g      ?r"   r'   r(   r)   r   r	   r   Nc                C   r   r   r,   )r   r"   r'   r(   r)   r   r	   r   r   r   r   >   r   zBertLayerConfig.__init__)r   r   r   r   r   strr   r   r   r   r   r   r&   5   r    r&   c                   @   s   e Zd ZU eed< eed< eed< eed< eed< dddddd	d	d
ddddddddededededededede	dedededededefddZ
dS ) 
BertConfig	embedding	attentionlayermodel_max_lengthpadding_idxr
   r*   r$   r   r+   r   r   r   r   r   )r   r"   r'   r#   r(   attention_probs_dropout_probhidden_dropout_probr)   r   r   r   r2   r   r3   r   r"   r'   r#   r(   r4   r5   r)   r   r   r   r   c                C   sL   t ||	|
|||d| _t|||d| _t||||||d| _|| _|| _d S )Nr   r%   r,   )r   r/   r!   r0   r&   r1   r2   r3   )r   r   r"   r'   r#   r(   r4   r5   r)   r   r   r   r2   r   r3   r   r   r   r   X   s.   
zBertConfig.__init__N)r   r   r   r   r   r!   r&   r   r   r-   r   r   r   r   r   r.   P   sb   
 	
r.   N)dataclassesr   r   r!   r&   r.   r   r   r   r   <module>   s    