


from typing import TYPE_CHECKING

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


__UpperCamelCase       :       Tuple						       =				{"configuration_deit": ["DEIT_PRETRAINED_CONFIG_ARCHIVE_MAP", "DeiTConfig", "DeiTOnnxConfig"]}

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

try:
       if not is_torch_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       __UpperCamelCase       :       Dict						       =				[
           "DEIT_PRETRAINED_MODEL_ARCHIVE_LIST",
           "DeiTForImageClassification",
           "DeiTForImageClassificationWithTeacher",
           "DeiTForMaskedImageModeling",
           "DeiTModel",
           "DeiTPreTrainedModel",
       ]

try:
       if not is_tf_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       __UpperCamelCase       :       List[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

       __UpperCamelCase       :       Tuple						       =				_LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__)






from typing import TYPE_CHECKING

from ..utils import _LazyModule


__UpperCamelCase       :       int						       =				{
    "config": [
        "EXTERNAL_DATA_FORMAT_SIZE_LIMIT",
        "OnnxConfig",
        "OnnxConfigWithPast",
        "OnnxSeq2SeqConfigWithPast",
        "PatchingSpec",
    ],
    "convert": ["export", "validate_model_outputs"],
    "features": ["FeaturesManager"],
    "utils": ["ParameterFormat", "compute_serialized_parameters_size"],
}


if TYPE_CHECKING:
       from .config import (
           EXTERNAL_DATA_FORMAT_SIZE_LIMIT,
           OnnxConfig,
           OnnxConfigWithPast,
           OnnxSeqaSeqConfigWithPast,
           PatchingSpec,
       )
       from .convert import export, validate_model_outputs
       from .features import FeaturesManager
       from .utils import ParameterFormat, compute_serialized_parameters_size

else:
       import sys

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


