


from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_tf_available,
    is_torch_available,
    is_vision_available,
)


_snake_case					:		List[str]      =    {"configuration_deit": ["DEIT_PRETRAINED_CONFIG_ARCHIVE_MAP", "DeiTConfig", "DeiTOnnxConfig"]}

try:
			if not is_vision_available():
						raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
			pass
else:
			_snake_case					:		Optional[int]      =    ["DeiTFeatureExtractor"]
			_snake_case					:		Tuple      =    ["DeiTImageProcessor"]

try:
			if not is_torch_available():
						raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
			pass
else:
			_snake_case					:		Union[str, Any]      =    [
			    "DEIT_PRETRAINED_MODEL_ARCHIVE_LIST",
			    "DeiTForImageClassification",
			    "DeiTForImageClassificationWithTeacher",
			    "DeiTForMaskedImageModeling",
			    "DeiTModel",
			    "DeiTPreTrainedModel",
			]

try:
			if not is_tf_available():
						raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
			pass
else:
			_snake_case					:		str      =    [
			    "TF_DEIT_PRETRAINED_MODEL_ARCHIVE_LIST",
			    "TFDeiTForImageClassification",
			    "TFDeiTForImageClassificationWithTeacher",
			    "TFDeiTForMaskedImageModeling",
			    "TFDeiTModel",
			    "TFDeiTPreTrainedModel",
			]


if TYPE_CHECKING:
			from .configuration_deit import DEIT_PRETRAINED_CONFIG_ARCHIVE_MAP, DeiTConfig, DeiTOnnxConfig

			try:
						if not is_vision_available():
									raise OptionalDependencyNotAvailable()
			except OptionalDependencyNotAvailable:
						pass
			else:
						from .feature_extraction_deit import DeiTFeatureExtractor
						from .image_processing_deit import DeiTImageProcessor

			try:
						if not is_torch_available():
									raise OptionalDependencyNotAvailable()
			except OptionalDependencyNotAvailable:
						pass
			else:
						from .modeling_deit import (
						    DEIT_PRETRAINED_MODEL_ARCHIVE_LIST,
						    DeiTForImageClassification,
						    DeiTForImageClassificationWithTeacher,
						    DeiTForMaskedImageModeling,
						    DeiTModel,
						    DeiTPreTrainedModel,
						)

			try:
						if not is_tf_available():
									raise OptionalDependencyNotAvailable()
			except OptionalDependencyNotAvailable:
						pass
			else:
						from .modeling_tf_deit import (
						    TF_DEIT_PRETRAINED_MODEL_ARCHIVE_LIST,
						    TFDeiTForImageClassification,
						    TFDeiTForImageClassificationWithTeacher,
						    TFDeiTForMaskedImageModeling,
						    TFDeiTModel,
						    TFDeiTPreTrainedModel,
						)


else:
			import sys

			_snake_case					:		Any      =    _LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__)





from ..utils import DummyObject, requires_backends

class     a		(metaclass=_lowerCAmelCase				):




							"""simple docstring"""


							__UpperCAmelCase   :							int					  =  ["speech"]

							def __init__(							self	:  List[Any]   ,     *lowerCamelCase	:  List[Any]   ,     **lowerCamelCase	:  Optional[Any]    )     ->   Dict:
														requires_backends(self   ,     ["speech"]    )

class     a		(metaclass=_lowerCAmelCase				):




							"""simple docstring"""


							__UpperCAmelCase   :							Optional[Any]					  =  ["speech"]

							def __init__(							self	:  int   ,     *lowerCamelCase	:  List[Any]   ,     **lowerCamelCase	:  List[Any]    )     ->   Optional[int]:
														requires_backends(self   ,     ["speech"]    )

