| | from typing import TYPE_CHECKING |
| |
|
| | from ...utils import ( |
| | DIFFUSERS_SLOW_IMPORT, |
| | OptionalDependencyNotAvailable, |
| | _LazyModule, |
| | get_objects_from_module, |
| | is_torch_available, |
| | is_transformers_available, |
| | ) |
| |
|
| |
|
| | _dummy_objects = {} |
| | _import_structure = {} |
| |
|
| | try: |
| | if not (is_transformers_available() and is_torch_available()): |
| | raise OptionalDependencyNotAvailable() |
| | except OptionalDependencyNotAvailable: |
| | from ...utils import dummy_torch_and_transformers_objects |
| |
|
| | _dummy_objects.update(get_objects_from_module(dummy_torch_and_transformers_objects)) |
| | else: |
| | _import_structure["camera"] = ["create_pan_cameras"] |
| | _import_structure["pipeline_shap_e"] = ["ShapEPipeline"] |
| | _import_structure["pipeline_shap_e_img2img"] = ["ShapEImg2ImgPipeline"] |
| | _import_structure["renderer"] = [ |
| | "BoundingBoxVolume", |
| | "ImportanceRaySampler", |
| | "MLPNeRFModelOutput", |
| | "MLPNeRSTFModel", |
| | "ShapEParamsProjModel", |
| | "ShapERenderer", |
| | "StratifiedRaySampler", |
| | "VoidNeRFModel", |
| | ] |
| |
|
| | if TYPE_CHECKING or DIFFUSERS_SLOW_IMPORT: |
| | try: |
| | if not (is_transformers_available() and is_torch_available()): |
| | raise OptionalDependencyNotAvailable() |
| |
|
| | except OptionalDependencyNotAvailable: |
| | from ...utils.dummy_torch_and_transformers_objects import * |
| | else: |
| | from .camera import create_pan_cameras |
| | from .pipeline_shap_e import ShapEPipeline |
| | from .pipeline_shap_e_img2img import ShapEImg2ImgPipeline |
| | from .renderer import ( |
| | BoundingBoxVolume, |
| | ImportanceRaySampler, |
| | MLPNeRFModelOutput, |
| | MLPNeRSTFModel, |
| | ShapEParamsProjModel, |
| | ShapERenderer, |
| | StratifiedRaySampler, |
| | VoidNeRFModel, |
| | ) |
| |
|
| | else: |
| | import sys |
| |
|
| | sys.modules[__name__] = _LazyModule( |
| | __name__, |
| | globals()["__file__"], |
| | _import_structure, |
| | module_spec=__spec__, |
| | ) |
| |
|
| | for name, value in _dummy_objects.items(): |
| | setattr(sys.modules[__name__], name, value) |
| |
|