|
|
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"] = ["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_ldm3d"] = ["StableDiffusionLDM3DPipeline"] |
|
|
_import_structure["pipeline_stable_diffusion_model_editing"] = ["StableDiffusionModelEditingPipeline"] |
|
|
_import_structure["pipeline_stable_diffusion_panorama"] = ["StableDiffusionPanoramaPipeline"] |
|
|
_import_structure["pipeline_stable_diffusion_paradigms"] = ["StableDiffusionParadigmsPipeline"] |
|
|
_import_structure["pipeline_stable_diffusion_sag"] = ["StableDiffusionSAGPipeline"] |
|
|
_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, |
|
|
StableDiffusionDiffEditPipeline, |
|
|
StableDiffusionPix2PixZeroPipeline, |
|
|
) |
|
|
|
|
|
_dummy_objects.update( |
|
|
{ |
|
|
"StableDiffusionDepth2ImgPipeline": StableDiffusionDepth2ImgPipeline, |
|
|
"StableDiffusionDiffEditPipeline": StableDiffusionDiffEditPipeline, |
|
|
"StableDiffusionPix2PixZeroPipeline": StableDiffusionPix2PixZeroPipeline, |
|
|
} |
|
|
) |
|
|
else: |
|
|
_import_structure["pipeline_stable_diffusion_depth2img"] = ["StableDiffusionDepth2ImgPipeline"] |
|
|
_import_structure["pipeline_stable_diffusion_diffedit"] = ["StableDiffusionDiffEditPipeline"] |
|
|
_import_structure["pipeline_stable_diffusion_pix2pix_zero"] = ["StableDiffusionPix2PixZeroPipeline"] |
|
|
try: |
|
|
if not ( |
|
|
is_torch_available() |
|
|
and is_transformers_available() |
|
|
and is_k_diffusion_available() |
|
|
and is_k_diffusion_version(">=", "0.0.12") |
|
|
): |
|
|
raise OptionalDependencyNotAvailable() |
|
|
except OptionalDependencyNotAvailable: |
|
|
from ...utils import dummy_torch_and_transformers_and_k_diffusion_objects |
|
|
|
|
|
_dummy_objects.update(get_objects_from_module(dummy_torch_and_transformers_and_k_diffusion_objects)) |
|
|
else: |
|
|
_import_structure["pipeline_stable_diffusion_k_diffusion"] = ["StableDiffusionKDiffusionPipeline"] |
|
|
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_cycle_diffusion import CycleDiffusionPipeline |
|
|
from .pipeline_stable_diffusion import ( |
|
|
StableDiffusionPipeline, |
|
|
StableDiffusionPipelineOutput, |
|
|
StableDiffusionSafetyChecker, |
|
|
) |
|
|
from .pipeline_stable_diffusion_attend_and_excite import StableDiffusionAttendAndExcitePipeline |
|
|
from .pipeline_stable_diffusion_gligen import StableDiffusionGLIGENPipeline |
|
|
from .pipeline_stable_diffusion_gligen_text_image import StableDiffusionGLIGENTextImagePipeline |
|
|
from .pipeline_stable_diffusion_img2img import StableDiffusionImg2ImgPipeline |
|
|
from .pipeline_stable_diffusion_inpaint import StableDiffusionInpaintPipeline |
|
|
from .pipeline_stable_diffusion_inpaint_legacy import StableDiffusionInpaintPipelineLegacy |
|
|
from .pipeline_stable_diffusion_instruct_pix2pix import StableDiffusionInstructPix2PixPipeline |
|
|
from .pipeline_stable_diffusion_latent_upscale import StableDiffusionLatentUpscalePipeline |
|
|
from .pipeline_stable_diffusion_ldm3d import StableDiffusionLDM3DPipeline |
|
|
from .pipeline_stable_diffusion_model_editing import StableDiffusionModelEditingPipeline |
|
|
from .pipeline_stable_diffusion_panorama import StableDiffusionPanoramaPipeline |
|
|
from .pipeline_stable_diffusion_paradigms import StableDiffusionParadigmsPipeline |
|
|
from .pipeline_stable_diffusion_sag import StableDiffusionSAGPipeline |
|
|
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, |
|
|
StableDiffusionDiffEditPipeline, |
|
|
StableDiffusionPix2PixZeroPipeline, |
|
|
) |
|
|
else: |
|
|
from .pipeline_stable_diffusion_depth2img import StableDiffusionDepth2ImgPipeline |
|
|
from .pipeline_stable_diffusion_diffedit import StableDiffusionDiffEditPipeline |
|
|
from .pipeline_stable_diffusion_pix2pix_zero import StableDiffusionPix2PixZeroPipeline |
|
|
|
|
|
try: |
|
|
if not ( |
|
|
is_torch_available() |
|
|
and is_transformers_available() |
|
|
and is_k_diffusion_available() |
|
|
and is_k_diffusion_version(">=", "0.0.12") |
|
|
): |
|
|
raise OptionalDependencyNotAvailable() |
|
|
except OptionalDependencyNotAvailable: |
|
|
from ...utils.dummy_torch_and_transformers_and_k_diffusion_objects import * |
|
|
else: |
|
|
from .pipeline_stable_diffusion_k_diffusion import StableDiffusionKDiffusionPipeline |
|
|
|
|
|
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_inpaint_legacy import OnnxStableDiffusionInpaintPipelineLegacy |
|
|
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) |
|
|
|