






from typing import TYPE_CHECKING

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


_UpperCAmelCase			:		Union[str, 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:
			_UpperCAmelCase			:		Dict   				=    ["WhisperTokenizerFast"]

try:
			if not is_torch_available():
						raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
			pass
else:
			_UpperCAmelCase			:		List[Any]   				=    [
			    "WHISPER_PRETRAINED_MODEL_ARCHIVE_LIST",
			    "WhisperForConditionalGeneration",
			    "WhisperModel",
			    "WhisperPreTrainedModel",
			    "WhisperForAudioClassification",
			]

try:
			if not is_tf_available():
						raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
			pass
else:
			_UpperCAmelCase			:		Dict   				=    [
			    "TF_WHISPER_PRETRAINED_MODEL_ARCHIVE_LIST",
			    "TFWhisperForConditionalGeneration",
			    "TFWhisperModel",
			    "TFWhisperPreTrainedModel",
			]

try:
			if not is_flax_available():
						raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
			pass
else:
			_UpperCAmelCase			:		List[str]   				=    [
			    "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

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













from .glue import GlueDataset, GlueDataTrainingArguments
from .language_modeling import (
    LineByLineTextDataset,
    LineByLineWithRefDataset,
    LineByLineWithSOPTextDataset,
    TextDataset,
    TextDatasetForNextSentencePrediction,
)
from .squad import SquadDataset, SquadDataTrainingArguments





