|
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) |
|
|