Skip to content

Commit 65b98b5

Browse files
darshil0805Darshil JariwalaDarshil Jariwalayiyixuxuhlky
authored
Add PAG Support for Stable Diffusion Inpaint Pipeline (#9386)
* using sd inpaint pipeline and sdxl pag inpaint pipeline to add changes * using sd inpaint pipeline and sdxl pag inpaint pipeline to add changes * finished the call function * added auto pipeline * merging diffusers * ready to test * ready to test * added copied from and removed unnecessary tests * make style changes * doc changes * updating example doc string * style fix * init * adding imports * quality * Update src/diffusers/pipelines/pag/pipeline_pag_sd_inpaint.py * make * Update tests/pipelines/pag/test_pag_sd_inpaint.py * slice and size * slice --------- Co-authored-by: Darshil Jariwala <[email protected]> Co-authored-by: Darshil Jariwala <[email protected]> Co-authored-by: YiYi Xu <[email protected]> Co-authored-by: hlky <[email protected]>
1 parent 49a9143 commit 65b98b5

File tree

8 files changed

+1703
-0
lines changed

8 files changed

+1703
-0
lines changed

docs/source/en/api/pipelines/pag.md

+5
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,11 @@ Since RegEx is supported as a way for matching layer identifiers, it is crucial
4848
- all
4949
- __call__
5050

51+
## StableDiffusionPAGInpaintPipeline
52+
[[autodoc]] StableDiffusionPAGInpaintPipeline
53+
- all
54+
- __call__
55+
5156
## StableDiffusionPAGPipeline
5257
[[autodoc]] StableDiffusionPAGPipeline
5358
- all

src/diffusers/__init__.py

+2
Original file line numberDiff line numberDiff line change
@@ -363,6 +363,7 @@
363363
"StableDiffusionLDM3DPipeline",
364364
"StableDiffusionModelEditingPipeline",
365365
"StableDiffusionPAGImg2ImgPipeline",
366+
"StableDiffusionPAGInpaintPipeline",
366367
"StableDiffusionPAGPipeline",
367368
"StableDiffusionPanoramaPipeline",
368369
"StableDiffusionParadigmsPipeline",
@@ -834,6 +835,7 @@
834835
StableDiffusionLDM3DPipeline,
835836
StableDiffusionModelEditingPipeline,
836837
StableDiffusionPAGImg2ImgPipeline,
838+
StableDiffusionPAGInpaintPipeline,
837839
StableDiffusionPAGPipeline,
838840
StableDiffusionPanoramaPipeline,
839841
StableDiffusionParadigmsPipeline,

src/diffusers/pipelines/__init__.py

+2
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,7 @@
174174
"StableDiffusion3PAGImg2ImgPipeline",
175175
"StableDiffusionPAGPipeline",
176176
"StableDiffusionPAGImg2ImgPipeline",
177+
"StableDiffusionPAGInpaintPipeline",
177178
"StableDiffusionControlNetPAGPipeline",
178179
"StableDiffusionXLPAGPipeline",
179180
"StableDiffusionXLPAGInpaintPipeline",
@@ -595,6 +596,7 @@
595596
StableDiffusionControlNetPAGInpaintPipeline,
596597
StableDiffusionControlNetPAGPipeline,
597598
StableDiffusionPAGImg2ImgPipeline,
599+
StableDiffusionPAGInpaintPipeline,
598600
StableDiffusionPAGPipeline,
599601
StableDiffusionXLControlNetPAGImg2ImgPipeline,
600602
StableDiffusionXLControlNetPAGPipeline,

src/diffusers/pipelines/auto_pipeline.py

+2
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@
6666
StableDiffusionControlNetPAGInpaintPipeline,
6767
StableDiffusionControlNetPAGPipeline,
6868
StableDiffusionPAGImg2ImgPipeline,
69+
StableDiffusionPAGInpaintPipeline,
6970
StableDiffusionPAGPipeline,
7071
StableDiffusionXLControlNetPAGImg2ImgPipeline,
7172
StableDiffusionXLControlNetPAGPipeline,
@@ -160,6 +161,7 @@
160161
("stable-diffusion-xl-pag", StableDiffusionXLPAGInpaintPipeline),
161162
("flux", FluxInpaintPipeline),
162163
("flux-controlnet", FluxControlNetInpaintPipeline),
164+
("stable-diffusion-pag", StableDiffusionPAGInpaintPipeline),
163165
]
164166
)
165167

src/diffusers/pipelines/pag/__init__.py

+3
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@
3434
_import_structure["pipeline_pag_sd_3_img2img"] = ["StableDiffusion3PAGImg2ImgPipeline"]
3535
_import_structure["pipeline_pag_sd_animatediff"] = ["AnimateDiffPAGPipeline"]
3636
_import_structure["pipeline_pag_sd_img2img"] = ["StableDiffusionPAGImg2ImgPipeline"]
37+
_import_structure["pipeline_pag_sd_inpaint"] = ["StableDiffusionPAGInpaintPipeline"]
38+
3739
_import_structure["pipeline_pag_sd_xl"] = ["StableDiffusionXLPAGPipeline"]
3840
_import_structure["pipeline_pag_sd_xl_img2img"] = ["StableDiffusionXLPAGImg2ImgPipeline"]
3941
_import_structure["pipeline_pag_sd_xl_inpaint"] = ["StableDiffusionXLPAGInpaintPipeline"]
@@ -58,6 +60,7 @@
5860
from .pipeline_pag_sd_3_img2img import StableDiffusion3PAGImg2ImgPipeline
5961
from .pipeline_pag_sd_animatediff import AnimateDiffPAGPipeline
6062
from .pipeline_pag_sd_img2img import StableDiffusionPAGImg2ImgPipeline
63+
from .pipeline_pag_sd_inpaint import StableDiffusionPAGInpaintPipeline
6164
from .pipeline_pag_sd_xl import StableDiffusionXLPAGPipeline
6265
from .pipeline_pag_sd_xl_img2img import StableDiffusionXLPAGImg2ImgPipeline
6366
from .pipeline_pag_sd_xl_inpaint import StableDiffusionXLPAGInpaintPipeline

src/diffusers/pipelines/pag/pipeline_pag_sd_inpaint.py

+1,356
Large diffs are not rendered by default.

src/diffusers/utils/dummy_torch_and_transformers_objects.py

+15
Original file line numberDiff line numberDiff line change
@@ -1757,6 +1757,21 @@ def from_pretrained(cls, *args, **kwargs):
17571757
requires_backends(cls, ["torch", "transformers"])
17581758

17591759

1760+
class StableDiffusionPAGInpaintPipeline(metaclass=DummyObject):
1761+
_backends = ["torch", "transformers"]
1762+
1763+
def __init__(self, *args, **kwargs):
1764+
requires_backends(self, ["torch", "transformers"])
1765+
1766+
@classmethod
1767+
def from_config(cls, *args, **kwargs):
1768+
requires_backends(cls, ["torch", "transformers"])
1769+
1770+
@classmethod
1771+
def from_pretrained(cls, *args, **kwargs):
1772+
requires_backends(cls, ["torch", "transformers"])
1773+
1774+
17601775
class StableDiffusionPAGPipeline(metaclass=DummyObject):
17611776
_backends = ["torch", "transformers"]
17621777

0 commit comments

Comments
 (0)