"""simple docstring"""







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


__SCREAMING_SNAKE_CASE             =logging.get_logger(__name__)

__SCREAMING_SNAKE_CASE             ={
    'speechbrain/m-ctc-t-large': 'https://huggingface.co/speechbrain/m-ctc-t-large/resolve/main/config.json',
    # See all M-CTC-T models at https://huggingface.co/models?filter=mctct
}







class 			UpperCamelCase						(     lowercase_    ):
   lowercase				=    'mctct'
   def __init__(     self	,__UpperCamelCase=8065	,__UpperCamelCase=1536	,__UpperCamelCase=36	,__UpperCamelCase=6144	,__UpperCamelCase=4	,__UpperCamelCase=384	,__UpperCamelCase=920	,__UpperCamelCase=1e-5	,__UpperCamelCase=0.3	,__UpperCamelCase="relu"	,__UpperCamelCase=0.02	,__UpperCamelCase=0.3	,__UpperCamelCase=0.3	,__UpperCamelCase=1	,__UpperCamelCase=0	,__UpperCamelCase=2	,__UpperCamelCase=1	,__UpperCamelCase=0.3	,__UpperCamelCase=1	,__UpperCamelCase=(7,)	,__UpperCamelCase=(3,)	,__UpperCamelCase=80	,__UpperCamelCase=1	,__UpperCamelCase=None	,__UpperCamelCase="sum"	,__UpperCamelCase=False	,**__UpperCamelCase	,)      -> Dict:


        '''simple docstring'''


        super().__init__(**lowerCamelCase__	,pad_token_id=lowerCamelCase__	,bos_token_id=lowerCamelCase__	,eos_token_id=lowerCamelCase__     )
        lowercase_      :							List[Any]						=      vocab_size
        lowercase_      :							Optional[Any]						=      hidden_size
        lowercase_      :							Dict						=      num_hidden_layers
        lowercase_      :							List[str]						=      intermediate_size
        lowercase_      :							Tuple						=      num_attention_heads
        lowercase_      :							int						=      attention_head_dim
        lowercase_      :							Optional[int]						=      max_position_embeddings
        lowercase_      :							Tuple						=      layer_norm_eps
        lowercase_      :							List[Any]						=      layerdrop
        lowercase_      :							List[str]						=      hidden_act
        lowercase_      :							str						=      initializer_range
        lowercase_      :							Union[str, Any]						=      hidden_dropout_prob
        lowercase_      :							Any						=      attention_probs_dropout_prob
        lowercase_      :							Union[str, Any]						=      pad_token_id
        lowercase_      :							Optional[int]						=      bos_token_id
        lowercase_      :							List[str]						=      eos_token_id
        lowercase_      :							Optional[Any]						=      conv_glu_dim
        lowercase_      :							Tuple						=      conv_dropout
        lowercase_      :							List[str]						=      num_conv_layers
        lowercase_      :							str						=      input_feat_per_channel
        lowercase_      :							Dict						=      input_channels
        lowercase_      :							Optional[Any]						=      conv_channels
        lowercase_      :							List[Any]						=      ctc_loss_reduction
        lowercase_      :							Optional[int]						=      ctc_zero_infinity

        # prevents config testing fail with exporting to json
        lowercase_      :							Optional[int]						=      list(lowerCamelCase__     )
        lowercase_      :							List[str]						=      list(lowerCamelCase__     )

        if len(self.conv_kernel     ) != self.num_conv_layers:
             raise ValueError(
                 'Configuration for convolutional module is incorrect. '
                 'It is required that `len(config.conv_kernel)` == `config.num_conv_layers` '
                 f'''but is `len(config.conv_kernel) = {len(self.conv_kernel     )}`, '''
                 f'''`config.num_conv_layers = {self.num_conv_layers}`.'''     )






'''simple docstring'''
def A__       (	UpperCAmelCase_    ,    UpperCAmelCase_				):
						return base * power(UpperCAmelCase_    ,    (exponent - 1)				) if exponent else 1


if __name__ == "__main__":
					print('Raise base to the power of exponent using recursion...')
					snake_case_					:      int    			=    int(input('Enter the base: ').strip())
					snake_case_					:      Optional[int]    			=    int(input('Enter the exponent: ').strip())
					snake_case_					:      Optional[int]    			=    power(base, abs(exponent))
					if exponent < 0:  # power() does not properly deal w/ negative exponents
										snake_case_					:      List[Any]    			=    1 / result
					print(F"""{base} to the power of {exponent} is {result}""")


