



import functools
import operator

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


__snake_case						:Dict      		=     logging.get_logger(__name__)

__snake_case						:Union[str, Any]      		=     {
    '''microsoft/unispeech-large-1500h-cv''': (
        '''https://huggingface.co/microsoft/unispeech-large-1500h-cv/resolve/main/config.json'''
    ),
    # See all UniSpeech models at https://huggingface.co/models?filter=unispeech
}

class     _A       (	__UpperCAmelCase    ):
       UpperCamelCase__  :    Optional[int]											=						'''unispeech'''



       def __init__(		self							:     Optional[int]     ,		__SCREAMING_SNAKE_CASE							:     Optional[int]=32     ,		__SCREAMING_SNAKE_CASE							:     Union[str, Any]=768     ,		__SCREAMING_SNAKE_CASE							:     Any=12     ,		__SCREAMING_SNAKE_CASE							:     Any=12     ,		__SCREAMING_SNAKE_CASE							:     Optional[int]=3_072     ,		__SCREAMING_SNAKE_CASE							:     int="gelu"     ,		__SCREAMING_SNAKE_CASE							:     int=0.1     ,		__SCREAMING_SNAKE_CASE							:     Dict=0.1     ,		__SCREAMING_SNAKE_CASE							:     Dict=0.1     ,		__SCREAMING_SNAKE_CASE							:     List[str]=0.0     ,		__SCREAMING_SNAKE_CASE							:     Union[str, Any]=0.0     ,		__SCREAMING_SNAKE_CASE							:     Union[str, Any]=0.1     ,		__SCREAMING_SNAKE_CASE							:     Optional[Any]=0.1     ,		__SCREAMING_SNAKE_CASE							:     Optional[int]=0.02     ,		__SCREAMING_SNAKE_CASE							:     Optional[Any]=1E-5     ,		__SCREAMING_SNAKE_CASE							:     Optional[Any]="group"     ,		__SCREAMING_SNAKE_CASE							:     List[str]="gelu"     ,		__SCREAMING_SNAKE_CASE							:     List[Any]=(512, 512, 512, 512, 512, 512, 512)     ,		__SCREAMING_SNAKE_CASE							:     List[Any]=(5, 2, 2, 2, 2, 2, 2)     ,		__SCREAMING_SNAKE_CASE							:     Union[str, Any]=(10, 3, 3, 3, 3, 2, 2)     ,		__SCREAMING_SNAKE_CASE							:     int=False     ,		__SCREAMING_SNAKE_CASE							:     Union[str, Any]=128     ,		__SCREAMING_SNAKE_CASE							:     List[Any]=16     ,		__SCREAMING_SNAKE_CASE							:     Tuple=False     ,		__SCREAMING_SNAKE_CASE							:     List[Any]=True     ,		__SCREAMING_SNAKE_CASE							:     int=0.05     ,		__SCREAMING_SNAKE_CASE							:     Any=10     ,		__SCREAMING_SNAKE_CASE							:     List[str]=2     ,		__SCREAMING_SNAKE_CASE							:     Any=0.0     ,		__SCREAMING_SNAKE_CASE							:     Optional[Any]=10     ,		__SCREAMING_SNAKE_CASE							:     str=0     ,		__SCREAMING_SNAKE_CASE							:     Any=320     ,		__SCREAMING_SNAKE_CASE							:     Optional[int]=2     ,		__SCREAMING_SNAKE_CASE							:     Optional[Any]=0.1     ,		__SCREAMING_SNAKE_CASE							:     Tuple=100     ,		__SCREAMING_SNAKE_CASE							:     List[str]=256     ,		__SCREAMING_SNAKE_CASE							:     Tuple=256     ,		__SCREAMING_SNAKE_CASE							:     List[Any]=0.1     ,		__SCREAMING_SNAKE_CASE							:     str="mean"     ,		__SCREAMING_SNAKE_CASE							:     Optional[Any]=False     ,		__SCREAMING_SNAKE_CASE							:     Dict=False     ,		__SCREAMING_SNAKE_CASE							:     Tuple=256     ,		__SCREAMING_SNAKE_CASE							:     Tuple=80     ,		__SCREAMING_SNAKE_CASE							:     Optional[Any]=0     ,		__SCREAMING_SNAKE_CASE							:     Union[str, Any]=1     ,		__SCREAMING_SNAKE_CASE							:     Dict=2     ,		__SCREAMING_SNAKE_CASE							:     str=0.5     ,		**__SCREAMING_SNAKE_CASE							:     str     ,		):


           '''simple docstring'''

           super().__init__(**__SCREAMING_SNAKE_CASE     ,		pad_token_id=__SCREAMING_SNAKE_CASE     ,		bos_token_id=__SCREAMING_SNAKE_CASE     ,		eos_token_id=__SCREAMING_SNAKE_CASE)
           __a						       =				hidden_size
           __a						       =				feat_extract_norm
           __a						       =				feat_extract_activation
           __a						       =				list(__SCREAMING_SNAKE_CASE)
           __a						       =				list(__SCREAMING_SNAKE_CASE)
           __a						       =				list(__SCREAMING_SNAKE_CASE)
           __a						       =				conv_bias
           __a						       =				num_conv_pos_embeddings
           __a						       =				num_conv_pos_embedding_groups
           __a						       =				len(self.conv_dim)
           __a						       =				num_hidden_layers
           __a						       =				intermediate_size
           __a						       =				hidden_act
           __a						       =				num_attention_heads
           __a						       =				hidden_dropout
           __a						       =				attention_dropout
           __a						       =				activation_dropout
           __a						       =				feat_proj_dropout
           __a						       =				final_dropout
           __a						       =				layerdrop
           __a						       =				layer_norm_eps
           __a						       =				initializer_range
           __a						       =				num_ctc_classes
           __a						       =				vocab_size
           __a						       =				do_stable_layer_norm
           __a						       =				use_weighted_layer_sum
           __a						       =				classifier_proj_size

           if (
               (len(self.conv_stride) != self.num_feat_extract_layers)
               or (len(self.conv_kernel) != self.num_feat_extract_layers)
               or (len(self.conv_dim) != self.num_feat_extract_layers)
           ):
               raise ValueError(
                   '''Configuration for convolutional layers is incorrect. It is required that `len(config.conv_dim)` =='''
                   ''' `len(config.conv_stride)` == `len(config.conv_kernel)`, but is `len(config.conv_dim) ='''
                   F' {len(self.conv_dim)}`, `len(config.conv_stride) = {len(self.conv_stride)}`,'
                   F' `len(config.conv_kernel) = {len(self.conv_kernel)}`.')

           # fine-tuning config parameters for SpecAugment: https://arxiv.org/abs/1904.08779
           __a						       =				apply_spec_augment
           __a						       =				mask_time_prob
           __a						       =				mask_time_length
           __a						       =				mask_time_min_masks
           __a						       =				mask_feature_prob
           __a						       =				mask_feature_length
           __a						       =				mask_feature_min_masks

           # parameters for pretraining with codevector quantized representations
           __a						       =				num_codevectors_per_group
           __a						       =				num_codevector_groups
           __a						       =				contrastive_logits_temperature
           __a						       =				feat_quantizer_dropout
           __a						       =				num_negatives
           __a						       =				codevector_dim
           __a						       =				proj_codevector_dim
           __a						       =				diversity_loss_weight

           # ctc loss
           __a						       =				ctc_loss_reduction
           __a						       =				ctc_zero_infinity

           # pretraining loss
           __a						       =				replace_prob





       @property
       def 		_lowerCamelCase			(		self							:     Optional[Any]):


           '''simple docstring'''

           return functools.reduce(operator.mul     ,		self.conv_stride     ,		1)










import logging

from transformers.configuration_utils import PretrainedConfig


__snake_case						:Any      		=     logging.getLogger(__name__)

class     _A       (	__UpperCAmelCase    ):
       UpperCamelCase__  :    Optional[Any]											=						'''masked_bert'''



       def __init__(		self							:     str     ,		__SCREAMING_SNAKE_CASE							:     int=30_522     ,		__SCREAMING_SNAKE_CASE							:     str=768     ,		__SCREAMING_SNAKE_CASE							:     List[str]=12     ,		__SCREAMING_SNAKE_CASE							:     Any=12     ,		__SCREAMING_SNAKE_CASE							:     Union[str, Any]=3_072     ,		__SCREAMING_SNAKE_CASE							:     List[Any]="gelu"     ,		__SCREAMING_SNAKE_CASE							:     int=0.1     ,		__SCREAMING_SNAKE_CASE							:     Dict=0.1     ,		__SCREAMING_SNAKE_CASE							:     Optional[Any]=512     ,		__SCREAMING_SNAKE_CASE							:     Optional[int]=2     ,		__SCREAMING_SNAKE_CASE							:     Dict=0.02     ,		__SCREAMING_SNAKE_CASE							:     List[Any]=1E-12     ,		__SCREAMING_SNAKE_CASE							:     Union[str, Any]=0     ,		__SCREAMING_SNAKE_CASE							:     List[str]="topK"     ,		__SCREAMING_SNAKE_CASE							:     List[Any]="constant"     ,		__SCREAMING_SNAKE_CASE							:     int=0.0     ,		**__SCREAMING_SNAKE_CASE							:     List[Any]     ,		):


           '''simple docstring'''

           super().__init__(pad_token_id=__SCREAMING_SNAKE_CASE     ,		**__SCREAMING_SNAKE_CASE)

           __a						       =				vocab_size
           __a						       =				hidden_size
           __a						       =				num_hidden_layers
           __a						       =				num_attention_heads
           __a						       =				hidden_act
           __a						       =				intermediate_size
           __a						       =				hidden_dropout_prob
           __a						       =				attention_probs_dropout_prob
           __a						       =				max_position_embeddings
           __a						       =				type_vocab_size
           __a						       =				initializer_range
           __a						       =				layer_norm_eps
           __a						       =				pruning_method
           __a						       =				mask_init
           __a						       =				mask_scale





