


from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_sentencepiece_available,
    is_torch_available,
)


a : str		=				{
    'configuration_speecht5': [
        'SPEECHT5_PRETRAINED_CONFIG_ARCHIVE_MAP',
        'SPEECHT5_PRETRAINED_HIFIGAN_CONFIG_ARCHIVE_MAP',
        'SpeechT5Config',
        'SpeechT5HifiGanConfig',
    ],
    'feature_extraction_speecht5': ['SpeechT5FeatureExtractor'],
    'processing_speecht5': ['SpeechT5Processor'],
}

try:
	if not is_sentencepiece_available():
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	pass
else:
	a : Dict		=				['SpeechT5Tokenizer']

try:
	if not is_torch_available():
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	pass
else:
	a : int		=				[
	    'SPEECHT5_PRETRAINED_MODEL_ARCHIVE_LIST',
	    'SpeechT5ForSpeechToText',
	    'SpeechT5ForSpeechToSpeech',
	    'SpeechT5ForTextToSpeech',
	    'SpeechT5Model',
	    'SpeechT5PreTrainedModel',
	    'SpeechT5HifiGan',
	]

if TYPE_CHECKING:
	from .configuration_speechta import (
	    SPEECHT5_PRETRAINED_CONFIG_ARCHIVE_MAP,
	    SPEECHT5_PRETRAINED_HIFIGAN_CONFIG_ARCHIVE_MAP,
	    SpeechTaConfig,
	    SpeechTaHifiGanConfig,
	)
	from .feature_extraction_speechta import SpeechTaFeatureExtractor
	from .processing_speechta import SpeechTaProcessor

	try:
		if not is_sentencepiece_available():
			raise OptionalDependencyNotAvailable()
	except OptionalDependencyNotAvailable:
		pass
	else:
		from .tokenization_speechta import SpeechTaTokenizer

	try:
		if not is_torch_available():
			raise OptionalDependencyNotAvailable()
	except OptionalDependencyNotAvailable:
		pass
	else:
		from .modeling_speechta import (
		    SPEECHT5_PRETRAINED_MODEL_ARCHIVE_LIST,
		    SpeechTaForSpeechToSpeech,
		    SpeechTaForSpeechToText,
		    SpeechTaForTextToSpeech,
		    SpeechTaHifiGan,
		    SpeechTaModel,
		    SpeechTaPreTrainedModel,
		)

else:
	import sys

	a : Dict		=				_LazyModule(__name__, globals()['''__file__'''], _import_structure, module_spec=__spec__)






from typing import List

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


a : Any		=				logging.get_logger(__name__)

a : int		=				{
    '''snap-research/efficientformer-l1-300''': (
        '''https://huggingface.co/snap-research/efficientformer-l1-300/resolve/main/config.json'''
    ),
}
class 	lowerCamelCase_       (				lowerCAmelCase__				):



					'''simple docstring'''







					__UpperCAmelCase            =				"efficientformer"






					def __init__(				self ,       snake_case_ = [3, 2, 6, 4] ,       snake_case_ = [4_8, 9_6, 2_2_4, 4_4_8] ,       snake_case_ = [True, True, True, True] ,       snake_case_ = 4_4_8 ,       snake_case_ = 3_2 ,       snake_case_ = 4 ,       snake_case_ = 7 ,       snake_case_ = 5 ,       snake_case_ = 8 ,       snake_case_ = 4 ,       snake_case_ = 0.0 ,       snake_case_ = 1_6 ,       snake_case_ = 3 ,       snake_case_ = 3 ,       snake_case_ = 3 ,       snake_case_ = 2 ,       snake_case_ = 1 ,       snake_case_ = 0.0 ,       snake_case_ = 1 ,       snake_case_ = True ,       snake_case_ = True ,       snake_case_ = 1e-5 ,       snake_case_ = "gelu" ,       snake_case_ = 0.0_2 ,       snake_case_ = 1e-1_2 ,       snake_case_ = 2_2_4 ,       snake_case_ = 1e-0_5 ,       **snake_case_ ,       )   ->			None:







								'''simple docstring'''

								super().__init__(**snake_case_						)

								__lowercase 					=   hidden_act
								__lowercase 					=   hidden_dropout_prob
								__lowercase 					=   hidden_sizes
								__lowercase 					=   num_hidden_layers
								__lowercase 					=   num_attention_heads
								__lowercase 					=   initializer_range
								__lowercase 					=   layer_norm_eps
								__lowercase 					=   patch_size
								__lowercase 					=   num_channels
								__lowercase 					=   depths
								__lowercase 					=   mlp_expansion_ratio
								__lowercase 					=   downsamples
								__lowercase 					=   dim
								__lowercase 					=   key_dim
								__lowercase 					=   attention_ratio
								__lowercase 					=   resolution
								__lowercase 					=   pool_size
								__lowercase 					=   downsample_patch_size
								__lowercase 					=   downsample_stride
								__lowercase 					=   downsample_pad
								__lowercase 					=   drop_path_rate
								__lowercase 					=   num_metaad_blocks
								__lowercase 					=   distillation
								__lowercase 					=   use_layer_scale
								__lowercase 					=   layer_scale_init_value
								__lowercase 					=   image_size
								__lowercase 					=   batch_norm_eps


