
"""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							(		a__							):
						__SCREAMING_SNAKE_CASE   :							Any							      =	"mctct"




						def __init__(							self   ,       lowercase_=8_0_6_5   ,       lowercase_=1_5_3_6   ,       lowercase_=3_6   ,       lowercase_=6_1_4_4   ,       lowercase_=4   ,       lowercase_=3_8_4   ,       lowercase_=9_2_0   ,       lowercase_=1E-5   ,       lowercase_=0.3   ,       lowercase_="relu"   ,       lowercase_=0.0_2   ,       lowercase_=0.3   ,       lowercase_=0.3   ,       lowercase_=1   ,       lowercase_=0   ,       lowercase_=2   ,       lowercase_=1   ,       lowercase_=0.3   ,       lowercase_=1   ,       lowercase_=(7,)   ,       lowercase_=(3,)   ,       lowercase_=8_0   ,       lowercase_=1   ,       lowercase_=None   ,       lowercase_="sum"   ,       lowercase_=False   ,       **lowercase_   ,       )						->					List[str]:
										super().__init__(**_A   ,       pad_token_id=_A   ,       bos_token_id=_A   ,       eos_token_id=_A							)
										UpperCAmelCase									=					vocab_size
										UpperCAmelCase									=					hidden_size
										UpperCAmelCase									=					num_hidden_layers
										UpperCAmelCase									=					intermediate_size
										UpperCAmelCase									=					num_attention_heads
										UpperCAmelCase									=					attention_head_dim
										UpperCAmelCase									=					max_position_embeddings
										UpperCAmelCase									=					layer_norm_eps
										UpperCAmelCase									=					layerdrop
										UpperCAmelCase									=					hidden_act
										UpperCAmelCase									=					initializer_range
										UpperCAmelCase									=					hidden_dropout_prob
										UpperCAmelCase									=					attention_probs_dropout_prob
										UpperCAmelCase									=					pad_token_id
										UpperCAmelCase									=					bos_token_id
										UpperCAmelCase									=					eos_token_id
										UpperCAmelCase									=					conv_glu_dim
										UpperCAmelCase									=					conv_dropout
										UpperCAmelCase									=					num_conv_layers
										UpperCAmelCase									=					input_feat_per_channel
										UpperCAmelCase									=					input_channels
										UpperCAmelCase									=					conv_channels
										UpperCAmelCase									=					ctc_loss_reduction
										UpperCAmelCase									=					ctc_zero_infinity

										# prevents config testing fail with exporting to json
										UpperCAmelCase									=					list(_A							)
										UpperCAmelCase									=					list(_A							)

										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"""

from abc import ABC, abstractmethod
from argparse import ArgumentParser
class      _UpperCAmelCase							(		SCREAMING_SNAKE_CASE_							):




      @staticmethod
      @abstractmethod
      def     a_      (							lowercase_							)						->					Optional[Any]:
          raise NotImplementedError()




      @abstractmethod
      def     a_      (							self							)						->					Any:
          raise NotImplementedError()



