






from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_flax_available,
    is_tf_available,
    is_tokenizers_available,
    is_torch_available,
)


lowercase  :							List[Any]			  =    {
    '''configuration_whisper''': ['''WHISPER_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''WhisperConfig''', '''WhisperOnnxConfig'''],
    '''feature_extraction_whisper''': ['''WhisperFeatureExtractor'''],
    '''processing_whisper''': ['''WhisperProcessor'''],
    '''tokenization_whisper''': ['''WhisperTokenizer'''],
}

try:
							if not is_tokenizers_available():
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							pass
else:
							lowercase  :							Union[str, Any]			  =    ['''WhisperTokenizerFast''']

try:
							if not is_torch_available():
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							pass
else:
							lowercase  :							str			  =    [
							    '''WHISPER_PRETRAINED_MODEL_ARCHIVE_LIST''',
							    '''WhisperForConditionalGeneration''',
							    '''WhisperModel''',
							    '''WhisperPreTrainedModel''',
							    '''WhisperForAudioClassification''',
							]

try:
							if not is_tf_available():
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							pass
else:
							lowercase  :							Tuple			  =    [
							    '''TF_WHISPER_PRETRAINED_MODEL_ARCHIVE_LIST''',
							    '''TFWhisperForConditionalGeneration''',
							    '''TFWhisperModel''',
							    '''TFWhisperPreTrainedModel''',
							]

try:
							if not is_flax_available():
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							pass
else:
							lowercase  :							Tuple			  =    [
							    '''FlaxWhisperForConditionalGeneration''',
							    '''FlaxWhisperModel''',
							    '''FlaxWhisperPreTrainedModel''',
							    '''FlaxWhisperForAudioClassification''',
							]


if TYPE_CHECKING:
							from .configuration_whisper import WHISPER_PRETRAINED_CONFIG_ARCHIVE_MAP, WhisperConfig, WhisperOnnxConfig
							from .feature_extraction_whisper import WhisperFeatureExtractor
							from .processing_whisper import WhisperProcessor
							from .tokenization_whisper import WhisperTokenizer

							try:
														if not is_tokenizers_available():
																					raise OptionalDependencyNotAvailable()
							except OptionalDependencyNotAvailable:
														pass
							else:
														from .tokenization_whisper_fast import WhisperTokenizerFast

							try:
														if not is_torch_available():
																					raise OptionalDependencyNotAvailable()
							except OptionalDependencyNotAvailable:
														pass
							else:
														from .modeling_whisper import (
														    WHISPER_PRETRAINED_MODEL_ARCHIVE_LIST,
														    WhisperForAudioClassification,
														    WhisperForConditionalGeneration,
														    WhisperModel,
														    WhisperPreTrainedModel,
														)

							try:
														if not is_tf_available():
																					raise OptionalDependencyNotAvailable()
							except OptionalDependencyNotAvailable:
														pass
							else:
														from .modeling_tf_whisper import (
														    TF_WHISPER_PRETRAINED_MODEL_ARCHIVE_LIST,
														    TFWhisperForConditionalGeneration,
														    TFWhisperModel,
														    TFWhisperPreTrainedModel,
														)

							try:
														if not is_flax_available():
																					raise OptionalDependencyNotAvailable()
							except OptionalDependencyNotAvailable:
														pass
							else:
														from .modeling_flax_whisper import (
														    FlaxWhisperForAudioClassification,
														    FlaxWhisperForConditionalGeneration,
														    FlaxWhisperModel,
														    FlaxWhisperPreTrainedModel,
														)

else:
							import sys

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








import fire

from transformers import AutoConfig, AutoModelForSeqaSeqLM, AutoTokenizer

def      lowerCAmelCase__	(    _a       :			str  ,      _a       :			str  ,      **_a       :			Optional[int]    ):
		snake_case_				:							Any						 =       AutoConfig.from_pretrained(_a  ,      **_a    )
		snake_case_				:							str						 =       AutoModelForSeqaSeqLM.from_config(_a    )
		model.save_pretrained(_a    )
		AutoTokenizer.from_pretrained(_a    ).save_pretrained(_a    )
		return model


if __name__ == "__main__":
							fire.Fire(save_randomly_initialized_version)
