| from typing import TYPE_CHECKING |
|
|
| from ...utils import ( |
| DIFFUSERS_SLOW_IMPORT, |
| OptionalDependencyNotAvailable, |
| _LazyModule, |
| get_objects_from_module, |
| is_flax_available, |
| is_torch_available, |
| is_transformers_available, |
| ) |
|
|
|
|
| _dummy_objects = {} |
| _additional_imports = {} |
| _import_structure = {"pipeline_output": ["StableDiffusionXLPipelineOutput"]} |
|
|
| if is_transformers_available() and is_flax_available(): |
| _import_structure["pipeline_output"].extend(["FlaxStableDiffusionXLPipelineOutput"]) |
| 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["pipeline_stable_diffusion_xl"] = ["StableDiffusionXLPipeline"] |
| _import_structure["pipeline_stable_diffusion_xl_img2img"] = ["StableDiffusionXLImg2ImgPipeline"] |
| _import_structure["pipeline_stable_diffusion_xl_inpaint"] = ["StableDiffusionXLInpaintPipeline"] |
| _import_structure["pipeline_stable_diffusion_xl_instruct_pix2pix"] = ["StableDiffusionXLInstructPix2PixPipeline"] |
|
|
| if is_transformers_available() and is_flax_available(): |
| from ...schedulers.scheduling_pndm_flax import PNDMSchedulerState |
|
|
| _additional_imports.update({"PNDMSchedulerState": PNDMSchedulerState}) |
| _import_structure["pipeline_flax_stable_diffusion_xl"] = ["FlaxStableDiffusionXLPipeline"] |
|
|
|
|
| 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 .pipeline_stable_diffusion_xl import StableDiffusionXLPipeline |
| from .pipeline_stable_diffusion_xl_img2img import StableDiffusionXLImg2ImgPipeline |
| from .pipeline_stable_diffusion_xl_inpaint import StableDiffusionXLInpaintPipeline |
| from .pipeline_stable_diffusion_xl_instruct_pix2pix import StableDiffusionXLInstructPix2PixPipeline |
|
|
| try: |
| if not (is_transformers_available() and is_flax_available()): |
| raise OptionalDependencyNotAvailable() |
| except OptionalDependencyNotAvailable: |
| from ...utils.dummy_flax_objects import * |
| else: |
| from .pipeline_flax_stable_diffusion_xl import ( |
| FlaxStableDiffusionXLPipeline, |
| ) |
| from .pipeline_output import FlaxStableDiffusionXLPipelineOutput |
|
|
| 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) |
| for name, value in _additional_imports.items(): |
| setattr(sys.modules[__name__], name, value) |
|
|