



'''simple docstring'''





from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_sentencepiece_available,
    is_tf_available,
    is_tokenizers_available,
    is_torch_available,
)


A__    :   str           =					{
    '''configuration_rembert''': ['''REMBERT_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''RemBertConfig''', '''RemBertOnnxConfig''']
}

try:
    if not is_sentencepiece_available():
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
    pass
else:
    A__    :   Any           =					['''RemBertTokenizer''']

try:
    if not is_tokenizers_available():
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
    pass
else:
    A__    :   Dict           =					['''RemBertTokenizerFast''']

try:
    if not is_torch_available():
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
    pass
else:
    A__    :   Union[str, Any]           =					[
        '''REMBERT_PRETRAINED_MODEL_ARCHIVE_LIST''',
        '''RemBertForCausalLM''',
        '''RemBertForMaskedLM''',
        '''RemBertForMultipleChoice''',
        '''RemBertForQuestionAnswering''',
        '''RemBertForSequenceClassification''',
        '''RemBertForTokenClassification''',
        '''RemBertLayer''',
        '''RemBertModel''',
        '''RemBertPreTrainedModel''',
        '''load_tf_weights_in_rembert''',
    ]


try:
    if not is_tf_available():
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
    pass
else:
    A__    :   Any           =					[
        '''TF_REMBERT_PRETRAINED_MODEL_ARCHIVE_LIST''',
        '''TFRemBertForCausalLM''',
        '''TFRemBertForMaskedLM''',
        '''TFRemBertForMultipleChoice''',
        '''TFRemBertForQuestionAnswering''',
        '''TFRemBertForSequenceClassification''',
        '''TFRemBertForTokenClassification''',
        '''TFRemBertLayer''',
        '''TFRemBertModel''',
        '''TFRemBertPreTrainedModel''',
    ]


if TYPE_CHECKING:
    from .configuration_rembert import REMBERT_PRETRAINED_CONFIG_ARCHIVE_MAP, RemBertConfig, RemBertOnnxConfig

    try:
        if not is_sentencepiece_available():
            raise OptionalDependencyNotAvailable()
    except OptionalDependencyNotAvailable:
        pass
    else:
        from .tokenization_rembert import RemBertTokenizer

    try:
        if not is_tokenizers_available():
            raise OptionalDependencyNotAvailable()
    except OptionalDependencyNotAvailable:
        pass
    else:
        from .tokenization_rembert_fast import RemBertTokenizerFast

    try:
        if not is_torch_available():
            raise OptionalDependencyNotAvailable()
    except OptionalDependencyNotAvailable:
        pass
    else:
        from .modeling_rembert import (
            REMBERT_PRETRAINED_MODEL_ARCHIVE_LIST,
            RemBertForCausalLM,
            RemBertForMaskedLM,
            RemBertForMultipleChoice,
            RemBertForQuestionAnswering,
            RemBertForSequenceClassification,
            RemBertForTokenClassification,
            RemBertLayer,
            RemBertModel,
            RemBertPreTrainedModel,
            load_tf_weights_in_rembert,
        )

    try:
        if not is_tf_available():
            raise OptionalDependencyNotAvailable()
    except OptionalDependencyNotAvailable:
        pass
    else:
        from .modeling_tf_rembert import (
            TF_REMBERT_PRETRAINED_MODEL_ARCHIVE_LIST,
            TFRemBertForCausalLM,
            TFRemBertForMaskedLM,
            TFRemBertForMultipleChoice,
            TFRemBertForQuestionAnswering,
            TFRemBertForSequenceClassification,
            TFRemBertForTokenClassification,
            TFRemBertLayer,
            TFRemBertModel,
            TFRemBertPreTrainedModel,
        )


else:
    import sys

    A__    :   int           =					_LazyModule(__name__, globals()['''__file__'''], _import_structure, module_spec=__spec__)






'''simple docstring'''





from ...configuration_utils import PretrainedConfig
from ...utils import logging


UpperCamelCase_    						=       logging.get_logger(__name__)

UpperCamelCase_    						=       {
    """facebook/s2t-wav2vec2-large-en-de""": (
        """https://huggingface.co/facebook/s2t-wav2vec2-large-en-de/resolve/main/config.json"""
    ),
    # See all Speech2Text models at https://huggingface.co/models?filter=speech2text2
}





class 		__SCREAMING_SNAKE_CASE							(			lowercase__      ):
				lowerCamelCase_		       =    'speech_to_text_2'
				lowerCamelCase_		       =    ['past_key_values']
				lowerCamelCase_		       =    {'num_attention_heads': 'decoder_attention_heads', 'hidden_size': 'd_model'}







				def __init__(       self     :		int		,					UpperCAmelCase__     :		Dict=10000		,					UpperCAmelCase__     :		Optional[int]=6		,					UpperCAmelCase__     :		str=2048		,					UpperCAmelCase__     :		Optional[Any]=4		,					UpperCAmelCase__     :		Union[str, Any]=0.0		,					UpperCAmelCase__     :		Optional[Any]=True		,					UpperCAmelCase__     :		Optional[Any]="relu"		,					UpperCAmelCase__     :		List[str]=256		,					UpperCAmelCase__     :		Union[str, Any]=0.1		,					UpperCAmelCase__     :		List[Any]=0.0		,					UpperCAmelCase__     :		Optional[Any]=0.0		,					UpperCAmelCase__     :		Tuple=0.02		,					UpperCAmelCase__     :		int=2		,					UpperCAmelCase__     :		str=True		,					UpperCAmelCase__     :		str=1		,					UpperCAmelCase__     :		Optional[Any]=0		,					UpperCAmelCase__     :		Optional[int]=2		,					UpperCAmelCase__     :		List[Any]=1024		,					**UpperCAmelCase__     :		Dict		,					):
										'''simple docstring'''
										lowercase :							List[str]    		=vocab_size
										lowercase :							Optional[int]    		=d_model
										lowercase :							Optional[Any]    		=decoder_ffn_dim
										lowercase :							Any    		=decoder_layers
										lowercase :							Dict    		=decoder_attention_heads
										lowercase :							List[Any]    		=dropout
										lowercase :							List[Any]    		=attention_dropout
										lowercase :							Any    		=activation_dropout
										lowercase :							Optional[Any]    		=activation_function
										lowercase :							Optional[int]    		=init_std
										lowercase :							Dict    		=decoder_layerdrop
										lowercase :							Optional[int]    		=use_cache
										lowercase :							Optional[Any]    		=decoder_layers
										lowercase :							List[str]    		=scale_embedding  # scale factor will be sqrt(d_model) if True
										lowercase :							str    		=max_target_positions

										super().__init__(
										    pad_token_id=UpperCAmelCase__		,					bos_token_id=UpperCAmelCase__		,					eos_token_id=UpperCAmelCase__		,					decoder_start_token_id=UpperCAmelCase__		,					**UpperCAmelCase__		,					)





