
from typing import TYPE_CHECKING

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


lowercase__		:List[Any]			  =   {
    "configuration_albert": ["ALBERT_PRETRAINED_CONFIG_ARCHIVE_MAP", "AlbertConfig", "AlbertOnnxConfig"],
}

try:
       if not is_sentencepiece_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       lowercase__		:List[str]			  =   ["AlbertTokenizer"]

try:
       if not is_tokenizers_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       lowercase__		:Any			  =   ["AlbertTokenizerFast"]

try:
       if not is_torch_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       lowercase__		:Any			  =   [
           "ALBERT_PRETRAINED_MODEL_ARCHIVE_LIST",
           "AlbertForMaskedLM",
           "AlbertForMultipleChoice",
           "AlbertForPreTraining",
           "AlbertForQuestionAnswering",
           "AlbertForSequenceClassification",
           "AlbertForTokenClassification",
           "AlbertModel",
           "AlbertPreTrainedModel",
           "load_tf_weights_in_albert",
       ]

try:
       if not is_tf_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       lowercase__		:Tuple			  =   [
           "TF_ALBERT_PRETRAINED_MODEL_ARCHIVE_LIST",
           "TFAlbertForMaskedLM",
           "TFAlbertForMultipleChoice",
           "TFAlbertForPreTraining",
           "TFAlbertForQuestionAnswering",
           "TFAlbertForSequenceClassification",
           "TFAlbertForTokenClassification",
           "TFAlbertMainLayer",
           "TFAlbertModel",
           "TFAlbertPreTrainedModel",
       ]

try:
       if not is_flax_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       lowercase__		:Optional[Any]			  =   [
           "FlaxAlbertForMaskedLM",
           "FlaxAlbertForMultipleChoice",
           "FlaxAlbertForPreTraining",
           "FlaxAlbertForQuestionAnswering",
           "FlaxAlbertForSequenceClassification",
           "FlaxAlbertForTokenClassification",
           "FlaxAlbertModel",
           "FlaxAlbertPreTrainedModel",
       ]

if TYPE_CHECKING:
       from .configuration_albert import ALBERT_PRETRAINED_CONFIG_ARCHIVE_MAP, AlbertConfig, AlbertOnnxConfig

       try:
              if not is_sentencepiece_available():
                     raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
              pass
       else:
              from .tokenization_albert import AlbertTokenizer

       try:
              if not is_tokenizers_available():
                     raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
              pass
       else:
              from .tokenization_albert_fast import AlbertTokenizerFast

       try:
              if not is_torch_available():
                     raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
              pass
       else:
              from .modeling_albert import (
                  ALBERT_PRETRAINED_MODEL_ARCHIVE_LIST,
                  AlbertForMaskedLM,
                  AlbertForMultipleChoice,
                  AlbertForPreTraining,
                  AlbertForQuestionAnswering,
                  AlbertForSequenceClassification,
                  AlbertForTokenClassification,
                  AlbertModel,
                  AlbertPreTrainedModel,
                  load_tf_weights_in_albert,
              )

       try:
              if not is_tf_available():
                     raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
              pass
       else:
              from .modeling_tf_albert import (
                  TF_ALBERT_PRETRAINED_MODEL_ARCHIVE_LIST,
                  TFAlbertForMaskedLM,
                  TFAlbertForMultipleChoice,
                  TFAlbertForPreTraining,
                  TFAlbertForQuestionAnswering,
                  TFAlbertForSequenceClassification,
                  TFAlbertForTokenClassification,
                  TFAlbertMainLayer,
                  TFAlbertModel,
                  TFAlbertPreTrainedModel,
              )

       try:
              if not is_flax_available():
                     raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
              pass
       else:
              from .modeling_flax_albert import (
                  FlaxAlbertForMaskedLM,
                  FlaxAlbertForMultipleChoice,
                  FlaxAlbertForPreTraining,
                  FlaxAlbertForQuestionAnswering,
                  FlaxAlbertForSequenceClassification,
                  FlaxAlbertForTokenClassification,
                  FlaxAlbertModel,
                  FlaxAlbertPreTrainedModel,
              )
else:
       import sys

       lowercase__		:Optional[int]			  =   _LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__)






from typing import TYPE_CHECKING

from ...file_utils import _LazyModule, is_tokenizers_available, is_torch_available, is_vision_available
from ...utils import OptionalDependencyNotAvailable


lowercase__		:Union[str, Any]			  =   {"configuration_dpt": ["DPT_PRETRAINED_CONFIG_ARCHIVE_MAP", "DPTConfig"]}

try:
							if not is_vision_available():
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							pass
else:
							lowercase__		:List[Any]			  =   ["DPTFeatureExtractor"]
							lowercase__		:List[Any]			  =   ["DPTImageProcessor"]

try:
							if not is_torch_available():
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							pass
else:
							lowercase__		:Optional[int]			  =   [
							    "DPT_PRETRAINED_MODEL_ARCHIVE_LIST",
							    "DPTForDepthEstimation",
							    "DPTForSemanticSegmentation",
							    "DPTModel",
							    "DPTPreTrainedModel",
							]


if TYPE_CHECKING:
							from .configuration_dpt import DPT_PRETRAINED_CONFIG_ARCHIVE_MAP, DPTConfig

							try:
														if not is_vision_available():
																					raise OptionalDependencyNotAvailable()
							except OptionalDependencyNotAvailable:
														pass
							else:
														from .feature_extraction_dpt import DPTFeatureExtractor
														from .image_processing_dpt import DPTImageProcessor

							try:
														if not is_torch_available():
																					raise OptionalDependencyNotAvailable()
							except OptionalDependencyNotAvailable:
														pass
							else:
														from .modeling_dpt import (
														    DPT_PRETRAINED_MODEL_ARCHIVE_LIST,
														    DPTForDepthEstimation,
														    DPTForSemanticSegmentation,
														    DPTModel,
														    DPTPreTrainedModel,
														)


else:
							import sys

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




