Skip to content

Commit b37dc3b

Browse files
Fix all missing optional import statements from pipeline folders (huggingface#4272)
* fix circular import * fix imports when watermark not specified * fix all pipelines
1 parent ff8f580 commit b37dc3b

File tree

11 files changed

+84
-26
lines changed

11 files changed

+84
-26
lines changed

src/diffusers/loaders.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525
from huggingface_hub import hf_hub_download
2626
from torch import nn
2727

28-
from .models.lora import LoRACompatibleConv, LoRACompatibleLinear, LoRAConv2dLayer, LoRALinearLayer
2928
from .utils import (
3029
DIFFUSERS_CACHE,
3130
HF_HUB_OFFLINE,
@@ -69,7 +68,7 @@
6968
class PatchedLoraProjection(nn.Module):
7069
def __init__(self, regular_linear_layer, lora_scale=1, network_alpha=None, rank=4, dtype=None):
7170
super().__init__()
72-
from .models.attention_processor import LoRALinearLayer
71+
from .models.lora import LoRALinearLayer
7372

7473
self.regular_linear_layer = regular_linear_layer
7574

@@ -244,6 +243,7 @@ def load_attn_procs(self, pretrained_model_name_or_path_or_dict: Union[str, Dict
244243
SlicedAttnAddedKVProcessor,
245244
XFormersAttnProcessor,
246245
)
246+
from .models.lora import LoRACompatibleConv, LoRACompatibleLinear, LoRAConv2dLayer, LoRALinearLayer
247247

248248
cache_dir = kwargs.pop("cache_dir", DIFFUSERS_CACHE)
249249
force_download = kwargs.pop("force_download", False)

src/diffusers/pipelines/alt_diffusion/__init__.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import PIL
66
from PIL import Image
77

8-
from ...utils import BaseOutput, is_torch_available, is_transformers_available
8+
from ...utils import BaseOutput, OptionalDependencyNotAvailable, is_torch_available, is_transformers_available
99

1010

1111
@dataclass
@@ -27,7 +27,12 @@ class AltDiffusionPipelineOutput(BaseOutput):
2727
nsfw_content_detected: Optional[List[bool]]
2828

2929

30-
if is_transformers_available() and is_torch_available():
30+
try:
31+
if not (is_transformers_available() and is_torch_available()):
32+
raise OptionalDependencyNotAvailable()
33+
except OptionalDependencyNotAvailable:
34+
from ...utils.dummy_torch_and_transformers_objects import ShapEPipeline
35+
else:
3136
from .modeling_roberta_series import RobertaSeriesModelWithTransformation
3237
from .pipeline_alt_diffusion import AltDiffusionPipeline
3338
from .pipeline_alt_diffusion_img2img import AltDiffusionImg2ImgPipeline

src/diffusers/pipelines/controlnet/__init__.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,12 @@
77
)
88

99

10-
if is_transformers_available() and is_torch_available() and is_invisible_watermark_available():
10+
try:
11+
if not (is_transformers_available() and is_torch_available() and is_invisible_watermark_available()):
12+
raise OptionalDependencyNotAvailable()
13+
except OptionalDependencyNotAvailable:
14+
from ...utils.dummy_torch_and_transformers_and_invisible_watermark_objects import * # noqa F403
15+
else:
1116
from .pipeline_controlnet_sd_xl import StableDiffusionXLControlNetPipeline
1217

1318

src/diffusers/pipelines/kandinsky/__init__.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,14 @@
22
OptionalDependencyNotAvailable,
33
is_torch_available,
44
is_transformers_available,
5-
is_transformers_version,
65
)
76

87

98
try:
109
if not (is_transformers_available() and is_torch_available()):
1110
raise OptionalDependencyNotAvailable()
1211
except OptionalDependencyNotAvailable:
13-
from ...utils.dummy_torch_and_transformers_objects import KandinskyPipeline, KandinskyPriorPipeline
12+
from ...utils.dummy_torch_and_transformers_objects import *
1413
else:
1514
from .pipeline_kandinsky import KandinskyPipeline
1615
from .pipeline_kandinsky_img2img import KandinskyImg2ImgPipeline
Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,20 @@
1-
from .pipeline_kandinsky2_2 import KandinskyV22Pipeline
2-
from .pipeline_kandinsky2_2_controlnet import KandinskyV22ControlnetPipeline
3-
from .pipeline_kandinsky2_2_controlnet_img2img import KandinskyV22ControlnetImg2ImgPipeline
4-
from .pipeline_kandinsky2_2_img2img import KandinskyV22Img2ImgPipeline
5-
from .pipeline_kandinsky2_2_inpainting import KandinskyV22InpaintPipeline
6-
from .pipeline_kandinsky2_2_prior import KandinskyV22PriorPipeline
7-
from .pipeline_kandinsky2_2_prior_emb2emb import KandinskyV22PriorEmb2EmbPipeline
1+
from ...utils import (
2+
OptionalDependencyNotAvailable,
3+
is_torch_available,
4+
is_transformers_available,
5+
)
6+
7+
8+
try:
9+
if not (is_transformers_available() and is_torch_available()):
10+
raise OptionalDependencyNotAvailable()
11+
except OptionalDependencyNotAvailable:
12+
from ...utils.dummy_torch_and_transformers_objects import *
13+
else:
14+
from .pipeline_kandinsky2_2 import KandinskyV22Pipeline
15+
from .pipeline_kandinsky2_2_controlnet import KandinskyV22ControlnetPipeline
16+
from .pipeline_kandinsky2_2_controlnet_img2img import KandinskyV22ControlnetImg2ImgPipeline
17+
from .pipeline_kandinsky2_2_img2img import KandinskyV22Img2ImgPipeline
18+
from .pipeline_kandinsky2_2_inpainting import KandinskyV22InpaintPipeline
19+
from .pipeline_kandinsky2_2_prior import KandinskyV22PriorPipeline
20+
from .pipeline_kandinsky2_2_prior_emb2emb import KandinskyV22PriorEmb2EmbPipeline
Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
1-
from ...utils import is_transformers_available
1+
from ...utils import OptionalDependencyNotAvailable, is_torch_available, is_transformers_available
22
from .pipeline_latent_diffusion_superresolution import LDMSuperResolutionPipeline
33

44

5-
if is_transformers_available():
5+
try:
6+
if not (is_transformers_available() and is_torch_available()):
7+
raise OptionalDependencyNotAvailable()
8+
except OptionalDependencyNotAvailable:
9+
from ...utils.dummy_torch_and_transformers_objects import ShapEPipeline
10+
else:
611
from .pipeline_latent_diffusion import LDMBertModel, LDMTextToImagePipeline

src/diffusers/pipelines/paint_by_example/__init__.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,14 @@
55
import PIL
66
from PIL import Image
77

8-
from ...utils import is_torch_available, is_transformers_available
8+
from ...utils import OptionalDependencyNotAvailable, is_torch_available, is_transformers_available
99

1010

11-
if is_transformers_available() and is_torch_available():
11+
try:
12+
if not (is_transformers_available() and is_torch_available()):
13+
raise OptionalDependencyNotAvailable()
14+
except OptionalDependencyNotAvailable:
15+
from ...utils.dummy_torch_and_transformers_objects import ShapEPipeline
16+
else:
1217
from .image_encoder import PaintByExampleImageEncoder
1318
from .pipeline_paint_by_example import PaintByExamplePipeline

src/diffusers/pipelines/semantic_stable_diffusion/__init__.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import PIL
77
from PIL import Image
88

9-
from ...utils import BaseOutput, is_torch_available, is_transformers_available
9+
from ...utils import BaseOutput, OptionalDependencyNotAvailable, is_torch_available, is_transformers_available
1010

1111

1212
@dataclass
@@ -27,5 +27,10 @@ class SemanticStableDiffusionPipelineOutput(BaseOutput):
2727
nsfw_content_detected: Optional[List[bool]]
2828

2929

30-
if is_transformers_available() and is_torch_available():
30+
try:
31+
if not (is_transformers_available() and is_torch_available()):
32+
raise OptionalDependencyNotAvailable()
33+
except OptionalDependencyNotAvailable:
34+
from ...utils.dummy_torch_and_transformers_objects import * # noqa F403
35+
else:
3136
from .pipeline_semantic_stable_diffusion import SemanticStableDiffusionPipeline

src/diffusers/pipelines/stable_diffusion_safe/__init__.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import PIL
77
from PIL import Image
88

9-
from ...utils import BaseOutput, is_torch_available, is_transformers_available
9+
from ...utils import BaseOutput, OptionalDependencyNotAvailable, is_torch_available, is_transformers_available
1010

1111

1212
@dataclass
@@ -66,6 +66,11 @@ class StableDiffusionSafePipelineOutput(BaseOutput):
6666
applied_safety_concept: Optional[str]
6767

6868

69-
if is_transformers_available() and is_torch_available():
69+
try:
70+
if not (is_transformers_available() and is_torch_available()):
71+
raise OptionalDependencyNotAvailable()
72+
except OptionalDependencyNotAvailable:
73+
from ...utils.dummy_torch_and_transformers_objects import *
74+
else:
7075
from .pipeline_stable_diffusion_safe import StableDiffusionPipelineSafe
7176
from .safety_checker import SafeStableDiffusionSafetyChecker

src/diffusers/pipelines/stable_diffusion_xl/__init__.py

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,13 @@
44
import numpy as np
55
import PIL
66

7-
from ...utils import BaseOutput, is_invisible_watermark_available, is_torch_available, is_transformers_available
7+
from ...utils import (
8+
BaseOutput,
9+
OptionalDependencyNotAvailable,
10+
is_invisible_watermark_available,
11+
is_torch_available,
12+
is_transformers_available,
13+
)
814

915

1016
@dataclass
@@ -21,7 +27,12 @@ class StableDiffusionXLPipelineOutput(BaseOutput):
2127
images: Union[List[PIL.Image.Image], np.ndarray]
2228

2329

24-
if is_transformers_available() and is_torch_available() and is_invisible_watermark_available():
30+
try:
31+
if not (is_transformers_available() and is_torch_available() and is_invisible_watermark_available()):
32+
raise OptionalDependencyNotAvailable()
33+
except OptionalDependencyNotAvailable:
34+
from ...utils.dummy_torch_and_transformers_and_invisible_watermark_objects import * # noqa F403
35+
else:
2536
from .pipeline_stable_diffusion_xl import StableDiffusionXLPipeline
2637
from .pipeline_stable_diffusion_xl_img2img import StableDiffusionXLImg2ImgPipeline
2738
from .pipeline_stable_diffusion_xl_inpaint import StableDiffusionXLInpaintPipeline

0 commit comments

Comments
 (0)