diff --git a/src/diffusers/pipelines/__init__.py b/src/diffusers/pipelines/__init__.py index 7814a4e0126e..df0be17799bd 100644 --- a/src/diffusers/pipelines/__init__.py +++ b/src/diffusers/pipelines/__init__.py @@ -105,6 +105,8 @@ "VQDiffusionPipeline", "AltDiffusionPipeline", "AltDiffusionImg2ImgPipeline", + "BlipDiffusionPipeline", + "BlipDiffusionControlNetPipeline", "CycleDiffusionPipeline", "StableDiffusionInpaintPipelineLegacy", "StableDiffusionPix2PixZeroPipeline", @@ -146,7 +148,6 @@ "AudioLDM2ProjectionModel", "AudioLDM2UNet2DConditionModel", ] - _import_structure["blip_diffusion"] = ["BlipDiffusionPipeline"] _import_structure["cogvideo"] = [ "CogVideoXPipeline", "CogVideoXImageToVideoPipeline", @@ -158,7 +159,6 @@ _import_structure["consisid"] = ["ConsisIDPipeline"] _import_structure["controlnet"].extend( [ - "BlipDiffusionControlNetPipeline", "StableDiffusionControlNetImg2ImgPipeline", "StableDiffusionControlNetInpaintPipeline", "StableDiffusionControlNetPipeline", @@ -503,7 +503,6 @@ AudioLDM2UNet2DConditionModel, ) from .aura_flow import AuraFlowPipeline - from .blip_diffusion import BlipDiffusionPipeline from .cogvideo import ( CogVideoXFunControlPipeline, CogVideoXImageToVideoPipeline, @@ -514,7 +513,6 @@ from .cogview4 import CogView4ControlPipeline, CogView4Pipeline from .consisid import ConsisIDPipeline from .controlnet import ( - BlipDiffusionControlNetPipeline, StableDiffusionControlNetImg2ImgPipeline, StableDiffusionControlNetInpaintPipeline, StableDiffusionControlNetPipeline, @@ -544,6 +542,8 @@ from .deprecated import ( AltDiffusionImg2ImgPipeline, AltDiffusionPipeline, + BlipDiffusionControlNetPipeline, + BlipDiffusionPipeline, CycleDiffusionPipeline, StableDiffusionInpaintPipelineLegacy, StableDiffusionModelEditingPipeline, diff --git a/src/diffusers/pipelines/controlnet/__init__.py b/src/diffusers/pipelines/controlnet/__init__.py index a49dccf235a3..3400d85d694d 100644 --- a/src/diffusers/pipelines/controlnet/__init__.py +++ b/src/diffusers/pipelines/controlnet/__init__.py @@ -24,7 +24,6 @@ else: _import_structure["multicontrolnet"] = ["MultiControlNetModel"] _import_structure["pipeline_controlnet"] = ["StableDiffusionControlNetPipeline"] - _import_structure["pipeline_controlnet_blip_diffusion"] = ["BlipDiffusionControlNetPipeline"] _import_structure["pipeline_controlnet_img2img"] = ["StableDiffusionControlNetImg2ImgPipeline"] _import_structure["pipeline_controlnet_inpaint"] = ["StableDiffusionControlNetInpaintPipeline"] _import_structure["pipeline_controlnet_inpaint_sd_xl"] = ["StableDiffusionXLControlNetInpaintPipeline"] @@ -54,7 +53,6 @@ else: from .multicontrolnet import MultiControlNetModel from .pipeline_controlnet import StableDiffusionControlNetPipeline - from .pipeline_controlnet_blip_diffusion import BlipDiffusionControlNetPipeline from .pipeline_controlnet_img2img import StableDiffusionControlNetImg2ImgPipeline from .pipeline_controlnet_inpaint import StableDiffusionControlNetInpaintPipeline from .pipeline_controlnet_inpaint_sd_xl import StableDiffusionXLControlNetInpaintPipeline diff --git a/src/diffusers/pipelines/deprecated/__init__.py b/src/diffusers/pipelines/deprecated/__init__.py index 9936323170ad..d8b7e81c4795 100644 --- a/src/diffusers/pipelines/deprecated/__init__.py +++ b/src/diffusers/pipelines/deprecated/__init__.py @@ -42,6 +42,7 @@ "AltDiffusionPipeline", "AltDiffusionPipelineOutput", ] + _import_structure["blip_diffusion"] = ["BlipDiffusionPipeline"] _import_structure["versatile_diffusion"] = [ "VersatileDiffusionDualGuidedPipeline", "VersatileDiffusionImageVariationPipeline", @@ -56,6 +57,7 @@ "StableDiffusionParadigmsPipeline", "StableDiffusionModelEditingPipeline", ] + _import_structure["controlnet"] = ["BlipDiffusionControlNetPipeline"] try: if not (is_torch_available() and is_librosa_available()): @@ -103,6 +105,8 @@ else: from .alt_diffusion import AltDiffusionImg2ImgPipeline, AltDiffusionPipeline, AltDiffusionPipelineOutput from .audio_diffusion import AudioDiffusionPipeline, Mel + from .blip_diffusion import BlipDiffusionPipeline + from .controlnet import BlipDiffusionControlNetPipeline from .spectrogram_diffusion import SpectrogramDiffusionPipeline from .stable_diffusion_variants import ( CycleDiffusionPipeline, diff --git a/src/diffusers/pipelines/blip_diffusion/__init__.py b/src/diffusers/pipelines/deprecated/blip_diffusion/__init__.py similarity index 74% rename from src/diffusers/pipelines/blip_diffusion/__init__.py rename to src/diffusers/pipelines/deprecated/blip_diffusion/__init__.py index af6c879d5ce8..1b8ff411d82e 100644 --- a/src/diffusers/pipelines/blip_diffusion/__init__.py +++ b/src/diffusers/pipelines/deprecated/blip_diffusion/__init__.py @@ -5,14 +5,14 @@ import PIL from PIL import Image -from ...utils import OptionalDependencyNotAvailable, is_torch_available, is_transformers_available +from ....utils import OptionalDependencyNotAvailable, is_torch_available, is_transformers_available try: if not (is_transformers_available() and is_torch_available()): raise OptionalDependencyNotAvailable() except OptionalDependencyNotAvailable: - from ...utils.dummy_torch_and_transformers_objects import ShapEPipeline + from ....utils.dummy_torch_and_transformers_objects import ShapEPipeline else: from .blip_image_processing import BlipImageProcessor from .modeling_blip2 import Blip2QFormerModel diff --git a/src/diffusers/pipelines/blip_diffusion/blip_image_processing.py b/src/diffusers/pipelines/deprecated/blip_diffusion/blip_image_processing.py similarity index 100% rename from src/diffusers/pipelines/blip_diffusion/blip_image_processing.py rename to src/diffusers/pipelines/deprecated/blip_diffusion/blip_image_processing.py diff --git a/src/diffusers/pipelines/blip_diffusion/modeling_blip2.py b/src/diffusers/pipelines/deprecated/blip_diffusion/modeling_blip2.py similarity index 100% rename from src/diffusers/pipelines/blip_diffusion/modeling_blip2.py rename to src/diffusers/pipelines/deprecated/blip_diffusion/modeling_blip2.py diff --git a/src/diffusers/pipelines/blip_diffusion/modeling_ctx_clip.py b/src/diffusers/pipelines/deprecated/blip_diffusion/modeling_ctx_clip.py similarity index 100% rename from src/diffusers/pipelines/blip_diffusion/modeling_ctx_clip.py rename to src/diffusers/pipelines/deprecated/blip_diffusion/modeling_ctx_clip.py diff --git a/src/diffusers/pipelines/blip_diffusion/pipeline_blip_diffusion.py b/src/diffusers/pipelines/deprecated/blip_diffusion/pipeline_blip_diffusion.py similarity index 98% rename from src/diffusers/pipelines/blip_diffusion/pipeline_blip_diffusion.py rename to src/diffusers/pipelines/deprecated/blip_diffusion/pipeline_blip_diffusion.py index cbd8bef67945..6f467d339d01 100644 --- a/src/diffusers/pipelines/blip_diffusion/pipeline_blip_diffusion.py +++ b/src/diffusers/pipelines/deprecated/blip_diffusion/pipeline_blip_diffusion.py @@ -17,15 +17,15 @@ import torch from transformers import CLIPTokenizer -from ...models import AutoencoderKL, UNet2DConditionModel -from ...schedulers import PNDMScheduler -from ...utils import ( +from ....models import AutoencoderKL, UNet2DConditionModel +from ....schedulers import PNDMScheduler +from ....utils import ( is_torch_xla_available, logging, replace_example_docstring, ) -from ...utils.torch_utils import randn_tensor -from ..pipeline_utils import DiffusionPipeline, ImagePipelineOutput +from ....utils.torch_utils import randn_tensor +from ...pipeline_utils import DiffusionPipeline, ImagePipelineOutput from .blip_image_processing import BlipImageProcessor from .modeling_blip2 import Blip2QFormerModel from .modeling_ctx_clip import ContextCLIPTextModel diff --git a/src/diffusers/pipelines/deprecated/controlnet/__init__.py b/src/diffusers/pipelines/deprecated/controlnet/__init__.py new file mode 100644 index 000000000000..a8024253131e --- /dev/null +++ b/src/diffusers/pipelines/deprecated/controlnet/__init__.py @@ -0,0 +1,48 @@ +from typing import TYPE_CHECKING + +from ....utils import ( + DIFFUSERS_SLOW_IMPORT, + OptionalDependencyNotAvailable, + _LazyModule, + get_objects_from_module, + is_torch_available, + is_transformers_available, +) + + +_dummy_objects = {} +_import_structure = {} + +try: + if not (is_transformers_available() and is_torch_available()): + raise OptionalDependencyNotAvailable() +except OptionalDependencyNotAvailable: + from ....utils import dummy_torch_and_transformers_objects # noqa F403 + + _dummy_objects.update(get_objects_from_module(dummy_torch_and_transformers_objects)) +else: + _import_structure["pipeline_controlnet_blip_diffusion"] = ["BlipDiffusionControlNetPipeline"] + + +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_controlnet_blip_diffusion import BlipDiffusionControlNetPipeline + + +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) diff --git a/src/diffusers/pipelines/controlnet/pipeline_controlnet_blip_diffusion.py b/src/diffusers/pipelines/deprecated/controlnet/pipeline_controlnet_blip_diffusion.py similarity index 98% rename from src/diffusers/pipelines/controlnet/pipeline_controlnet_blip_diffusion.py rename to src/diffusers/pipelines/deprecated/controlnet/pipeline_controlnet_blip_diffusion.py index 88c387d48dd2..b3462a740263 100644 --- a/src/diffusers/pipelines/controlnet/pipeline_controlnet_blip_diffusion.py +++ b/src/diffusers/pipelines/deprecated/controlnet/pipeline_controlnet_blip_diffusion.py @@ -18,18 +18,18 @@ import torch from transformers import CLIPTokenizer -from ...models import AutoencoderKL, ControlNetModel, UNet2DConditionModel -from ...schedulers import PNDMScheduler -from ...utils import ( +from ....models import AutoencoderKL, ControlNetModel, UNet2DConditionModel +from ....schedulers import PNDMScheduler +from ....utils import ( is_torch_xla_available, logging, replace_example_docstring, ) -from ...utils.torch_utils import randn_tensor +from ....utils.torch_utils import randn_tensor +from ...pipeline_utils import DiffusionPipeline, ImagePipelineOutput from ..blip_diffusion.blip_image_processing import BlipImageProcessor from ..blip_diffusion.modeling_blip2 import Blip2QFormerModel from ..blip_diffusion.modeling_ctx_clip import ContextCLIPTextModel -from ..pipeline_utils import DiffusionPipeline, ImagePipelineOutput if is_torch_xla_available(): diff --git a/tests/pipelines/blipdiffusion/test_blipdiffusion.py b/tests/pipelines/blipdiffusion/test_blipdiffusion.py index e073f55aec9e..10baa48b61b0 100644 --- a/tests/pipelines/blipdiffusion/test_blipdiffusion.py +++ b/tests/pipelines/blipdiffusion/test_blipdiffusion.py @@ -21,11 +21,12 @@ from transformers.models.blip_2.configuration_blip_2 import Blip2Config from transformers.models.clip.configuration_clip import CLIPTextConfig -from diffusers import AutoencoderKL, BlipDiffusionPipeline, PNDMScheduler, UNet2DConditionModel +from diffusers import AutoencoderKL, PNDMScheduler, UNet2DConditionModel +from diffusers.pipelines.deprecated import BlipDiffusionPipeline +from diffusers.pipelines.deprecated.blip_diffusion.blip_image_processing import BlipImageProcessor +from diffusers.pipelines.deprecated.blip_diffusion.modeling_blip2 import Blip2QFormerModel +from diffusers.pipelines.deprecated.blip_diffusion.modeling_ctx_clip import ContextCLIPTextModel from diffusers.utils.testing_utils import enable_full_determinism -from src.diffusers.pipelines.blip_diffusion.blip_image_processing import BlipImageProcessor -from src.diffusers.pipelines.blip_diffusion.modeling_blip2 import Blip2QFormerModel -from src.diffusers.pipelines.blip_diffusion.modeling_ctx_clip import ContextCLIPTextModel from ..test_pipelines_common import PipelineTesterMixin diff --git a/tests/pipelines/controlnet/test_controlnet_blip_diffusion.py b/tests/pipelines/controlnet/test_controlnet_blip_diffusion.py index eedda4e21722..91b239068ec8 100644 --- a/tests/pipelines/controlnet/test_controlnet_blip_diffusion.py +++ b/tests/pipelines/controlnet/test_controlnet_blip_diffusion.py @@ -23,15 +23,15 @@ from diffusers import ( AutoencoderKL, - BlipDiffusionControlNetPipeline, ControlNetModel, PNDMScheduler, UNet2DConditionModel, ) +from diffusers.pipelines.deprecated import BlipDiffusionControlNetPipeline +from diffusers.pipelines.deprecated.blip_diffusion.blip_image_processing import BlipImageProcessor +from diffusers.pipelines.deprecated.blip_diffusion.modeling_blip2 import Blip2QFormerModel +from diffusers.pipelines.deprecated.blip_diffusion.modeling_ctx_clip import ContextCLIPTextModel from diffusers.utils.testing_utils import enable_full_determinism, torch_device -from src.diffusers.pipelines.blip_diffusion.blip_image_processing import BlipImageProcessor -from src.diffusers.pipelines.blip_diffusion.modeling_blip2 import Blip2QFormerModel -from src.diffusers.pipelines.blip_diffusion.modeling_ctx_clip import ContextCLIPTextModel from ..test_pipelines_common import PipelineTesterMixin