

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


a_     =			logging.get_logger(__name__)

a_     =			{
    '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      ):
			'''simple docstring'''







			lowerCamelCase__							='mctct'
			def __init__(	self							:       str					,					a							:       Tuple=8065					,					a							:       int=1536					,					a							:       Optional[int]=36					,					a							:       str=6144					,					a							:       int=4					,					a							:       int=384					,					a							:       Dict=920					,					a							:       Optional[Any]=1e-5					,					a							:       List[Any]=0.3					,					a							:       int="relu"					,					a							:       Dict=0.02					,					a							:       int=0.3					,					a							:       Union[str, Any]=0.3					,					a							:       List[str]=1					,					a							:       int=0					,					a							:       int=2					,					a							:       Any=1					,					a							:       Optional[Any]=0.3					,					a							:       Optional[Any]=1					,					a							:       List[Any]=(7,)					,					a							:       Union[str, Any]=(3,)					,					a							:       Optional[Any]=80					,					a							:       Optional[int]=1					,					a							:       Optional[int]=None					,					a							:       List[Any]="sum"					,					a							:       Union[str, Any]=False					,					**a							:       int					,					)							->				Optional[int]:

				"""simple docstring"""

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

				# prevents config testing fail with exporting to json
				SCREAMING_SNAKE_CASE      :					Tuple    =				list(a		)
				SCREAMING_SNAKE_CASE      :					List[str]    =				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 typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


A_							: Optional[int]						 =	{"""configuration_ibert""": ["""IBERT_PRETRAINED_CONFIG_ARCHIVE_MAP""", """IBertConfig""", """IBertOnnxConfig"""]}

try:
   if not is_torch_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   A_							: str						 =	[
       """IBERT_PRETRAINED_MODEL_ARCHIVE_LIST""",
       """IBertForMaskedLM""",
       """IBertForMultipleChoice""",
       """IBertForQuestionAnswering""",
       """IBertForSequenceClassification""",
       """IBertForTokenClassification""",
       """IBertModel""",
       """IBertPreTrainedModel""",
   ]

if TYPE_CHECKING:
   from .configuration_ibert import IBERT_PRETRAINED_CONFIG_ARCHIVE_MAP, IBertConfig, IBertOnnxConfig

   try:
      if not is_torch_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .modeling_ibert import (
          IBERT_PRETRAINED_MODEL_ARCHIVE_LIST,
          IBertForMaskedLM,
          IBertForMultipleChoice,
          IBertForQuestionAnswering,
          IBertForSequenceClassification,
          IBertForTokenClassification,
          IBertModel,
          IBertPreTrainedModel,
      )

else:
   import sys

   A_							: str						 =	_LazyModule(__name__, globals()["""__file__"""], _import_structure, module_spec=__spec__)



