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