






from typing import TYPE_CHECKING

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


__a :    Any								=				{
    "configuration_imagegpt": ["IMAGEGPT_PRETRAINED_CONFIG_ARCHIVE_MAP", "ImageGPTConfig", "ImageGPTOnnxConfig"]
}

try:
  if not is_vision_available():
    raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
  pass
else:
  __a :    Any								=				["ImageGPTFeatureExtractor"]
  __a :    Dict								=				["ImageGPTImageProcessor"]

try:
  if not is_torch_available():
    raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
  pass
else:
  __a :    Dict								=				[
      "IMAGEGPT_PRETRAINED_MODEL_ARCHIVE_LIST",
      "ImageGPTForCausalImageModeling",
      "ImageGPTForImageClassification",
      "ImageGPTModel",
      "ImageGPTPreTrainedModel",
      "load_tf_weights_in_imagegpt",
  ]


if TYPE_CHECKING:
  from .configuration_imagegpt import IMAGEGPT_PRETRAINED_CONFIG_ARCHIVE_MAP, ImageGPTConfig, ImageGPTOnnxConfig

  try:
    if not is_vision_available():
      raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
    pass
  else:
    from .feature_extraction_imagegpt import ImageGPTFeatureExtractor
    from .image_processing_imagegpt import ImageGPTImageProcessor

  try:
    if not is_torch_available():
      raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
    pass
  else:
    from .modeling_imagegpt import (
        IMAGEGPT_PRETRAINED_MODEL_ARCHIVE_LIST,
        ImageGPTForCausalImageModeling,
        ImageGPTForImageClassification,
        ImageGPTModel,
        ImageGPTPreTrainedModel,
        load_tf_weights_in_imagegpt,
    )

else:
  import sys

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












from ..utils import DummyObject, requires_backends


__a :    int								=				None



def      _SCREAMING_SNAKE_CASE  (	*__lowercase				:     Any     ,			**__lowercase				:     Optional[int]      )  -> Tuple:





    """simple docstring"""

    requires_backends(__lowercase     ,			["""sentencepiece""", """tokenizers"""]      )




