


"""simple docstring"""


from typing import TYPE_CHECKING

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


_snake_case          =							{
    "configuration_perceiver": ["PERCEIVER_PRETRAINED_CONFIG_ARCHIVE_MAP", "PerceiverConfig", "PerceiverOnnxConfig"],
    "tokenization_perceiver": ["PerceiverTokenizer"],
}

try:
   if not is_vision_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   _snake_case          =							["PerceiverFeatureExtractor"]
   _snake_case          =							["PerceiverImageProcessor"]

try:
   if not is_torch_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   _snake_case          =							[
       "PERCEIVER_PRETRAINED_MODEL_ARCHIVE_LIST",
       "PerceiverForImageClassificationConvProcessing",
       "PerceiverForImageClassificationFourier",
       "PerceiverForImageClassificationLearned",
       "PerceiverForMaskedLM",
       "PerceiverForMultimodalAutoencoding",
       "PerceiverForOpticalFlow",
       "PerceiverForSequenceClassification",
       "PerceiverLayer",
       "PerceiverModel",
       "PerceiverPreTrainedModel",
   ]


if TYPE_CHECKING:
   from .configuration_perceiver import PERCEIVER_PRETRAINED_CONFIG_ARCHIVE_MAP, PerceiverConfig, PerceiverOnnxConfig
   from .tokenization_perceiver import PerceiverTokenizer

   try:
      if not is_vision_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .feature_extraction_perceiver import PerceiverFeatureExtractor
      from .image_processing_perceiver import PerceiverImageProcessor

   try:
      if not is_torch_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .modeling_perceiver import (
          PERCEIVER_PRETRAINED_MODEL_ARCHIVE_LIST,
          PerceiverForImageClassificationConvProcessing,
          PerceiverForImageClassificationFourier,
          PerceiverForImageClassificationLearned,
          PerceiverForMaskedLM,
          PerceiverForMultimodalAutoencoding,
          PerceiverForOpticalFlow,
          PerceiverForSequenceClassification,
          PerceiverLayer,
          PerceiverModel,
          PerceiverPreTrainedModel,
      )

else:
   import sys

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







"""simple docstring"""


from ...utils import (
    OptionalDependencyNotAvailable,
    is_torch_available,
    is_transformers_available,
    is_transformers_version,
)


try:
   if not (is_transformers_available() and is_torch_available()):
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   from ...utils.dummy_torch_and_transformers_objects import ShapEPipeline
else:
   from .camera import create_pan_cameras
   from .pipeline_shap_e import ShapEPipeline
   from .pipeline_shap_e_img2img import ShapEImgaImgPipeline
   from .renderer import (
       BoundingBoxVolume,
       ImportanceRaySampler,
       MLPNeRFModelOutput,
       MLPNeRSTFModel,
       ShapEParamsProjModel,
       ShapERenderer,
       StratifiedRaySampler,
       VoidNeRFModel,
   )



