


from typing import TYPE_CHECKING

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


snake_case__						 =						{
    '''configuration_mobilenet_v2''': [
        '''MOBILENET_V2_PRETRAINED_CONFIG_ARCHIVE_MAP''',
        '''MobileNetV2Config''',
        '''MobileNetV2OnnxConfig''',
    ],
}

try:
		if not is_vision_available():
				raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
		pass
else:
		snake_case__						 =						['''MobileNetV2FeatureExtractor''']
		snake_case__						 =						['''MobileNetV2ImageProcessor''']


try:
		if not is_torch_available():
				raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
		pass
else:
		snake_case__						 =						[
		    '''MOBILENET_V2_PRETRAINED_MODEL_ARCHIVE_LIST''',
		    '''MobileNetV2ForImageClassification''',
		    '''MobileNetV2ForSemanticSegmentation''',
		    '''MobileNetV2Model''',
		    '''MobileNetV2PreTrainedModel''',
		    '''load_tf_weights_in_mobilenet_v2''',
		]


if TYPE_CHECKING:
		from .configuration_mobilenet_va import (
		    MOBILENET_V2_PRETRAINED_CONFIG_ARCHIVE_MAP,
		    MobileNetVaConfig,
		    MobileNetVaOnnxConfig,
		)

		try:
				if not is_vision_available():
						raise OptionalDependencyNotAvailable()
		except OptionalDependencyNotAvailable:
				pass
		else:
				from .feature_extraction_mobilenet_va import MobileNetVaFeatureExtractor
				from .image_processing_mobilenet_va import MobileNetVaImageProcessor

		try:
				if not is_torch_available():
						raise OptionalDependencyNotAvailable()
		except OptionalDependencyNotAvailable:
				pass
		else:
				from .modeling_mobilenet_va import (
				    MOBILENET_V2_PRETRAINED_MODEL_ARCHIVE_LIST,
				    MobileNetVaForImageClassification,
				    MobileNetVaForSemanticSegmentation,
				    MobileNetVaModel,
				    MobileNetVaPreTrainedModel,
				    load_tf_weights_in_mobilenet_va,
				)


else:
		import sys

		snake_case__						 =						_LazyModule(__name__, globals()['''__file__'''], _import_structure, module_spec=__spec__)






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


snake_case__			 =						logging.get_logger(__name__)

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 					lowerCAmelCase_ (       _a):
						lowerCamelCase_         =     'speech_to_text_2'
						lowerCamelCase_         =     ['past_key_values']
						lowerCamelCase_         =     {'num_attention_heads': 'decoder_attention_heads', 'hidden_size': 'd_model'}




						def __init__(	self						:   Dict   ,     __A						:   Union[str, Any]=10000   ,     __A						:   Tuple=6   ,     __A						:   Tuple=2048   ,     __A						:   Any=4   ,     __A						:   str=0.0   ,     __A						:   Tuple=True   ,     __A						:   List[Any]="relu"   ,     __A						:   Union[str, Any]=256   ,     __A						:   str=0.1   ,     __A						:   Optional[Any]=0.0   ,     __A						:   Tuple=0.0   ,     __A						:   Any=0.02   ,     __A						:   int=2   ,     __A						:   Union[str, Any]=True   ,     __A						:   Tuple=1   ,     __A						:   List[str]=0   ,     __A						:   List[str]=2   ,     __A						:   Union[str, Any]=1024   ,     **__A						:   Tuple   ,     )      ->List[str]:






									"""simple docstring"""






									a__ :Tuple						  =    vocab_size
									a__ :Dict						  =    d_model
									a__ :Optional[int]						  =    decoder_ffn_dim
									a__ :Optional[int]						  =    decoder_layers
									a__ :Optional[int]						  =    decoder_attention_heads
									a__ :Dict						  =    dropout
									a__ :Optional[Any]						  =    attention_dropout
									a__ :Any						  =    activation_dropout
									a__ :int						  =    activation_function
									a__ :Optional[int]						  =    init_std
									a__ :List[Any]						  =    decoder_layerdrop
									a__ :Optional[Any]						  =    use_cache
									a__ :List[str]						  =    decoder_layers
									a__ :int						  =    scale_embedding  # scale factor will be sqrt(d_model) if True
									a__ :Optional[int]						  =    max_target_positions

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


