Spaces:
Running
on
Zero
Running
on
Zero
Update inpainting_module.py
Browse files- inpainting_module.py +27 -14
inpainting_module.py
CHANGED
|
@@ -612,19 +612,32 @@ class InpaintingModule:
|
|
| 612 |
strength: float,
|
| 613 |
generator: torch.Generator
|
| 614 |
) -> Image.Image:
|
| 615 |
-
"""Generate using pure SDXL Inpainting pipeline."""
|
| 616 |
-
|
| 617 |
-
|
| 618 |
-
|
| 619 |
-
|
| 620 |
-
|
| 621 |
-
|
| 622 |
-
|
| 623 |
-
|
| 624 |
-
|
| 625 |
-
|
| 626 |
-
)
|
| 627 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 628 |
|
| 629 |
def _generate_controlnet_inpaint(
|
| 630 |
self,
|
|
@@ -663,4 +676,4 @@ class InpaintingModule:
|
|
| 663 |
"mode": self._current_mode,
|
| 664 |
"conditioning_type": self._current_conditioning_type,
|
| 665 |
"model_key": self._current_model_key,
|
| 666 |
-
}
|
|
|
|
| 612 |
strength: float,
|
| 613 |
generator: torch.Generator
|
| 614 |
) -> Image.Image:
|
| 615 |
+
"""Generate using pure SDXL Inpainting pipeline with DPM++ scheduler for speed."""
|
| 616 |
+
# Use DPM++ 2M Karras scheduler for faster generation
|
| 617 |
+
original_scheduler = self._pipeline.scheduler
|
| 618 |
+
self._pipeline.scheduler = DPMSolverMultistepScheduler.from_config(
|
| 619 |
+
self._pipeline.scheduler.config,
|
| 620 |
+
use_karras_sigmas=True,
|
| 621 |
+
algorithm_type="dpmsolver++"
|
| 622 |
+
)
|
| 623 |
+
logger.info("Switched to DPM++ 2M Karras scheduler for Pure Inpainting")
|
| 624 |
+
|
| 625 |
+
try:
|
| 626 |
+
with torch.inference_mode():
|
| 627 |
+
result = self._pipeline(
|
| 628 |
+
prompt=prompt,
|
| 629 |
+
negative_prompt=negative_prompt,
|
| 630 |
+
image=image,
|
| 631 |
+
mask_image=mask,
|
| 632 |
+
num_inference_steps=num_steps,
|
| 633 |
+
guidance_scale=guidance_scale,
|
| 634 |
+
strength=strength,
|
| 635 |
+
generator=generator
|
| 636 |
+
)
|
| 637 |
+
return result.images[0]
|
| 638 |
+
finally:
|
| 639 |
+
# Restore original scheduler
|
| 640 |
+
self._pipeline.scheduler = original_scheduler
|
| 641 |
|
| 642 |
def _generate_controlnet_inpaint(
|
| 643 |
self,
|
|
|
|
| 676 |
"mode": self._current_mode,
|
| 677 |
"conditioning_type": self._current_conditioning_type,
|
| 678 |
"model_key": self._current_model_key,
|
| 679 |
+
}
|