| from typing import TYPE_CHECKING |
|
|
| from ...utils import ( |
| DIFFUSERS_SLOW_IMPORT, |
| OptionalDependencyNotAvailable, |
| _LazyModule, |
| get_objects_from_module, |
| is_flax_available, |
| is_k_diffusion_available, |
| is_k_diffusion_version, |
| is_onnx_available, |
| is_torch_available, |
| is_transformers_available, |
| is_transformers_version, |
| ) |
|
|
|
|
| _dummy_objects = {} |
| _additional_imports = {} |
| _import_structure = {"pipeline_output": ["StableDiffusionPipelineOutput"]} |
|
|
| if is_transformers_available() and is_flax_available(): |
| _import_structure["pipeline_output"].extend(["FlaxStableDiffusionPipelineOutput"]) |
| 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["clip_image_project_model"] = ["CLIPImageProjection"] |
| _import_structure["pipeline_cycle_diffusion"] = ["CycleDiffusionPipeline"] |
| _import_structure["pipeline_stable_diffusion"] = ["StableDiffusionPipeline"] |
| _import_structure["pipeline_stable_diffusion_attend_and_excite"] = ["StableDiffusionAttendAndExcitePipeline"] |
| _import_structure["pipeline_stable_diffusion_gligen"] = ["StableDiffusionGLIGENPipeline"] |
| _import_structure["pipeline_stable_diffusion_gligen_text_image"] = ["StableDiffusionGLIGENTextImagePipeline"] |
| _import_structure["pipeline_stable_diffusion_img2img"] = ["StableDiffusionImg2ImgPipeline"] |
| _import_structure["pipeline_stable_diffusion_inversion_sr"] = ["StableDiffusionInvEnhancePipeline"] |
| _import_structure["pipeline_stable_diffusion_inpaint"] = ["StableDiffusionInpaintPipeline"] |
| _import_structure["pipeline_stable_diffusion_inpaint_legacy"] = ["StableDiffusionInpaintPipelineLegacy"] |
| _import_structure["pipeline_stable_diffusion_instruct_pix2pix"] = ["StableDiffusionInstructPix2PixPipeline"] |
| _import_structure["pipeline_stable_diffusion_latent_upscale"] = ["StableDiffusionLatentUpscalePipeline"] |
| _import_structure["pipeline_stable_diffusion_model_editing"] = ["StableDiffusionModelEditingPipeline"] |
| _import_structure["pipeline_stable_diffusion_paradigms"] = ["StableDiffusionParadigmsPipeline"] |
| _import_structure["pipeline_stable_diffusion_upscale"] = ["StableDiffusionUpscalePipeline"] |
| _import_structure["pipeline_stable_unclip"] = ["StableUnCLIPPipeline"] |
| _import_structure["pipeline_stable_unclip_img2img"] = ["StableUnCLIPImg2ImgPipeline"] |
| _import_structure["safety_checker"] = ["StableDiffusionSafetyChecker"] |
| _import_structure["stable_unclip_image_normalizer"] = ["StableUnCLIPImageNormalizer"] |
| try: |
| if not (is_transformers_available() and is_torch_available() and is_transformers_version(">=", "4.25.0")): |
| raise OptionalDependencyNotAvailable() |
| except OptionalDependencyNotAvailable: |
| from ...utils.dummy_torch_and_transformers_objects import ( |
| StableDiffusionImageVariationPipeline, |
| ) |
|
|
| _dummy_objects.update({"StableDiffusionImageVariationPipeline": StableDiffusionImageVariationPipeline}) |
| else: |
| _import_structure["pipeline_stable_diffusion_image_variation"] = ["StableDiffusionImageVariationPipeline"] |
| try: |
| if not (is_transformers_available() and is_torch_available() and is_transformers_version(">=", "4.26.0")): |
| raise OptionalDependencyNotAvailable() |
| except OptionalDependencyNotAvailable: |
| from ...utils.dummy_torch_and_transformers_objects import ( |
| StableDiffusionDepth2ImgPipeline, |
| ) |
|
|
| _dummy_objects.update( |
| { |
| "StableDiffusionDepth2ImgPipeline": StableDiffusionDepth2ImgPipeline, |
| } |
| ) |
| else: |
| _import_structure["pipeline_stable_diffusion_depth2img"] = ["StableDiffusionDepth2ImgPipeline"] |
|
|
| try: |
| if not (is_transformers_available() and is_onnx_available()): |
| raise OptionalDependencyNotAvailable() |
| except OptionalDependencyNotAvailable: |
| from ...utils import dummy_onnx_objects |
|
|
| _dummy_objects.update(get_objects_from_module(dummy_onnx_objects)) |
| else: |
| _import_structure["pipeline_onnx_stable_diffusion"] = [ |
| "OnnxStableDiffusionPipeline", |
| "StableDiffusionOnnxPipeline", |
| ] |
| _import_structure["pipeline_onnx_stable_diffusion_img2img"] = ["OnnxStableDiffusionImg2ImgPipeline"] |
| _import_structure["pipeline_onnx_stable_diffusion_inpaint"] = ["OnnxStableDiffusionInpaintPipeline"] |
| _import_structure["pipeline_onnx_stable_diffusion_inpaint_legacy"] = ["OnnxStableDiffusionInpaintPipelineLegacy"] |
| _import_structure["pipeline_onnx_stable_diffusion_upscale"] = ["OnnxStableDiffusionUpscalePipeline"] |
|
|
| 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"] = ["FlaxStableDiffusionPipeline"] |
| _import_structure["pipeline_flax_stable_diffusion_img2img"] = ["FlaxStableDiffusionImg2ImgPipeline"] |
| _import_structure["pipeline_flax_stable_diffusion_inpaint"] = ["FlaxStableDiffusionInpaintPipeline"] |
| _import_structure["safety_checker_flax"] = ["FlaxStableDiffusionSafetyChecker"] |
|
|
| 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 .clip_image_project_model import CLIPImageProjection |
| from .pipeline_stable_diffusion import ( |
| StableDiffusionPipeline, |
| StableDiffusionPipelineOutput, |
| ) |
| from .pipeline_stable_diffusion_img2img import StableDiffusionImg2ImgPipeline |
| from .pipeline_stable_diffusion_inversion_sr import StableDiffusionInvEnhancePipeline |
| from .pipeline_stable_diffusion_inpaint import StableDiffusionInpaintPipeline |
| from .pipeline_stable_diffusion_instruct_pix2pix import ( |
| StableDiffusionInstructPix2PixPipeline, |
| ) |
| from .pipeline_stable_diffusion_latent_upscale import ( |
| StableDiffusionLatentUpscalePipeline, |
| ) |
| from .pipeline_stable_diffusion_upscale import StableDiffusionUpscalePipeline |
| from .pipeline_stable_unclip import StableUnCLIPPipeline |
| from .pipeline_stable_unclip_img2img import StableUnCLIPImg2ImgPipeline |
| from .safety_checker import StableDiffusionSafetyChecker |
| from .stable_unclip_image_normalizer import StableUnCLIPImageNormalizer |
|
|
| try: |
| if not (is_transformers_available() and is_torch_available() and is_transformers_version(">=", "4.25.0")): |
| raise OptionalDependencyNotAvailable() |
| except OptionalDependencyNotAvailable: |
| from ...utils.dummy_torch_and_transformers_objects import ( |
| StableDiffusionImageVariationPipeline, |
| ) |
| else: |
| from .pipeline_stable_diffusion_image_variation import ( |
| StableDiffusionImageVariationPipeline, |
| ) |
|
|
| try: |
| if not (is_transformers_available() and is_torch_available() and is_transformers_version(">=", "4.26.0")): |
| raise OptionalDependencyNotAvailable() |
| except OptionalDependencyNotAvailable: |
| from ...utils.dummy_torch_and_transformers_objects import StableDiffusionDepth2ImgPipeline |
| else: |
| from .pipeline_stable_diffusion_depth2img import ( |
| StableDiffusionDepth2ImgPipeline, |
| ) |
|
|
| try: |
| if not (is_transformers_available() and is_onnx_available()): |
| raise OptionalDependencyNotAvailable() |
| except OptionalDependencyNotAvailable: |
| from ...utils.dummy_onnx_objects import * |
| else: |
| from .pipeline_onnx_stable_diffusion import ( |
| OnnxStableDiffusionPipeline, |
| StableDiffusionOnnxPipeline, |
| ) |
| from .pipeline_onnx_stable_diffusion_img2img import ( |
| OnnxStableDiffusionImg2ImgPipeline, |
| ) |
| from .pipeline_onnx_stable_diffusion_inpaint import ( |
| OnnxStableDiffusionInpaintPipeline, |
| ) |
| from .pipeline_onnx_stable_diffusion_upscale import ( |
| OnnxStableDiffusionUpscalePipeline, |
| ) |
|
|
| 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 import FlaxStableDiffusionPipeline |
| from .pipeline_flax_stable_diffusion_img2img import ( |
| FlaxStableDiffusionImg2ImgPipeline, |
| ) |
| from .pipeline_flax_stable_diffusion_inpaint import ( |
| FlaxStableDiffusionInpaintPipeline, |
| ) |
| from .pipeline_output import FlaxStableDiffusionPipelineOutput |
| from .safety_checker_flax import FlaxStableDiffusionSafetyChecker |
|
|
| 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) |
|
|