
    9i                     X    S r SSKJr  SSKJr  \R                  " 5       r " S S\5      rg)zPPoNet model configuration, mainly copied from :class:`~transformers.BertConfig`     )PretrainedConfig)loggerc                   V   ^  \ rS rSrSrSr                 SU 4S jjrSrU =r$ )PoNetConfig   a  
This is the configuration class to store the configuration
of a :class:`~modelscope.models.nlp.ponet.PoNetModel`.
It is used to instantiate a PoNet model according to the specified arguments.

Configuration objects inherit from :class:`~transformers.PretrainedConfig` and can be used to control the model
outputs. Read the documentation from :class:`~transformers.PretrainedConfig` for more information.


Args:
    vocab_size (:obj:`int`, `optional`, defaults to 30522):
        Vocabulary size of the BERT model. Defines the number of different tokens that can be represented by the
        :obj:`inputs_ids` passed.
    hidden_size (:obj:`int`, `optional`, defaults to 768):
        Dimensionality of the encoder layers and the pooler layer.
    num_hidden_layers (:obj:`int`, `optional`, defaults to 12):
        Number of hidden layers in the Transformer encoder.
    num_attention_heads (:obj:`int`, `optional`, defaults to 12):
        Number of attention heads for each attention layer in the Transformer encoder.
    intermediate_size (:obj:`int`, `optional`, defaults to 3072):
        Dimensionality of the "intermediate" (often named feed-forward) layer in the Transformer encoder.
    hidden_act (:obj:`str` or :obj:`Callable`, `optional`, defaults to :obj:`"gelu"`):
        The non-linear activation function (function or string) in the encoder and pooler. If string,
        :obj:`"gelu"`, :obj:`"relu"`, :obj:`"silu"` and :obj:`"gelu_new"` are supported.
    hidden_dropout_prob (:obj:`float`, `optional`, defaults to 0.1):
        The dropout probability for all fully connected layers in the embeddings, encoder, and pooler.
    attention_probs_dropout_prob (:obj:`float`, `optional`, defaults to 0.1):
        The dropout ratio for the attention probabilities.
    max_position_embeddings (:obj:`int`, `optional`, defaults to 512):
        The maximum sequence length that this model might ever be used with. Typically set this to something large
        just in case (e.g., 512 or 1024 or 2048).
    type_vocab_size (:obj:`int`, `optional`, defaults to 2):
        The vocabulary size of the :obj:`token_type_ids` passed.
    initializer_range (:obj:`float`, `optional`, defaults to 0.02):
        The standard deviation of the truncated_normal_initializer for initializing all weight matrices.
    layer_norm_eps (:obj:`float`, `optional`, defaults to 1e-12):
        The epsilon used by the layer normalization layers.
    position_embedding_type (:obj:`str`, `optional`, defaults to :obj:`"absolute"`):
        Type of position embedding. Choose one of :obj:`"absolute"`, :obj:`"relative_key"`,
        :obj:`"relative_key_query"`. For positional embeddings use :obj:`"absolute"`. For more information on
        :obj:`"relative_key"`, please refer to `Self-Attention with Relative Position Representations (Shaw et al.)
        <https://arxiv.org/abs/1803.02155>`__. For more information on :obj:`"relative_key_query"`, please refer to
        `Method 4` in `Improve Transformer Models with Better Relative Position Embeddings (Huang et al.)
        <https://arxiv.org/abs/2009.13658>`__.
    use_cache (:obj:`bool`, `optional`, defaults to :obj:`True`):
        Whether or not the model should return the last key/values attentions (not used by all models). Only
        relevant if ``config.is_decoder=True``.
    classifier_dropout (:obj:`float`, `optional`):
        The dropout ratio for the classification head.
    clsgsepg (:obj:`bool`, `optional`, defaults to :obj:`True`):
        Whether or not use a trick to make sure the segment and local information will not leak.
ponetc                    > [         TU ]  " SSU0UD6  Xl        X l        X0l        X@l        X`l        XPl        Xpl        Xl	        Xl
        Xl        Xl        Xl        Xl        Xl        UU l        UU l        g )Npad_token_id )super__init__
vocab_sizehidden_sizenum_hidden_layersnum_attention_heads
hidden_actintermediate_sizehidden_dropout_probattention_probs_dropout_probmax_position_embeddingstype_vocab_sizeinitializer_rangelayer_norm_epsposition_embedding_type	use_cacheclassifier_dropoutclsgsepg)selfr   r   r   r   r   r   r   r   r   r   r   r   r
   r   r   r   r   kwargs	__class__s                      i/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/modelscope/models/nlp/ponet/configuration.pyr   PoNetConfig.__init__O   sz    & 	=l=f=$&!2#6 $!2#6 ,H)'>$.!2,'>$""4     )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )i:w  i      r$   i   gelu皙?r&   i      g{Gz?g-q=r   absoluteTNT)	__name__
__module____qualname____firstlineno____doc__
model_typer   __static_attributes____classcell__)r    s   @r!   r   r      sO    3h J " #%%'#'"%(.1),!"#' %)3$(#$! $!r#   r   N)r-   transformersr   modelscope.utilsr   logging
get_loggerr   r   r#   r!   <module>r5      s.     X ) .				[!" [!r#   