





"""simple docstring"""
from typing import TYPE_CHECKING

from ....utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


__UpperCamelCase     :						List[Any]						       =  {'''configuration_mmbt''': ['''MMBTConfig''']}

try:
       if not is_torch_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       __UpperCamelCase     :						List[Any]						       =  ['''MMBTForClassification''', '''MMBTModel''', '''ModalEmbeddings''']


if TYPE_CHECKING:
       from .configuration_mmbt import MMBTConfig

       try:
              if not is_torch_available():
                     raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
              pass
       else:
              from .modeling_mmbt import MMBTForClassification, MMBTModel, ModalEmbeddings

else:
       import sys

       __UpperCamelCase     :						List[str]						       =  _LazyModule(__name__, globals()['''__file__'''], _import_structure, module_spec=__spec__)












"""simple docstring"""





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


SCREAMING_SNAKE_CASE__   =  logging.get_logger(__name__)

SCREAMING_SNAKE_CASE__   =  {
    "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 						lowercase   (   _UpperCAmelCase   ):
      _SCREAMING_SNAKE_CASE							      = 'speech_to_text_2'
      _SCREAMING_SNAKE_CASE							      = ['past_key_values']
      _SCREAMING_SNAKE_CASE							      = {'num_attention_heads': 'decoder_attention_heads', 'hidden_size': 'd_model'}





      def __init__(			self ,		lowercase=10_000 ,		lowercase=6 ,		lowercase=2_048 ,		lowercase=4 ,		lowercase=0.0 ,		lowercase=True ,		lowercase="relu" ,		lowercase=256 ,		lowercase=0.1 ,		lowercase=0.0 ,		lowercase=0.0 ,		lowercase=0.02 ,		lowercase=2 ,		lowercase=True ,		lowercase=1 ,		lowercase=0 ,		lowercase=2 ,		lowercase=1_024 ,		**lowercase ,		)						->	Optional[int]:
            lowerCAmelCase    		=			vocab_size
            lowerCAmelCase    		=			d_model
            lowerCAmelCase    		=			decoder_ffn_dim
            lowerCAmelCase    		=			decoder_layers
            lowerCAmelCase    		=			decoder_attention_heads
            lowerCAmelCase    		=			dropout
            lowerCAmelCase    		=			attention_dropout
            lowerCAmelCase    		=			activation_dropout
            lowerCAmelCase    		=			activation_function
            lowerCAmelCase    		=			init_std
            lowerCAmelCase    		=			decoder_layerdrop
            lowerCAmelCase    		=			use_cache
            lowerCAmelCase    		=			decoder_layers
            lowerCAmelCase    		=			scale_embedding  # scale factor will be sqrt(d_model) if True
            lowerCAmelCase    		=			max_target_positions

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






