huggingface/diffusers

Support multiple control nets in the `StableDiffusionControlNetXSPipeline`/`StableDiffusionXLControlNetXSPipeline`

Open

#8.434 geöffnet am 7. Juni 2024

Auf GitHub ansehen
 (9 Kommentare) (0 Reaktionen) (0 zugewiesene Personen)Python (4.562 Forks)batch import
community-examplescontributions-welcomegood first issue

Repository-Metriken

Stars
 (22.190 Stars)
PR-Merge-Metriken
 (Durchschn. Merge 13T 1h) (96 gemergte PRs in 30 T)

Beschreibung

Is your feature request related to a problem? Please describe. The StableDiffusionControlNetPipeline/StableDiffusionXLControlNetPipeline allow you to specify a list of control nets (i.e. depth and canny)

However, the new ControlNetXS pipelines only allow you provide a single control net

Describe the solution you'd like. I want to be able to do:

vae = AutoencoderKL.from_pretrained("madebyollin/sdxl-vae-fp16-fix", torch_dtype=torch.float16)
canny_controlnet = ControlNetXSAdapter.from_pretrained(
    "UmerHA/Testing-ConrolNetXS-SDXL-canny", torch_dtype=torch.float16
)
depth_controlnet = ControlNetXSAdapter.from_pretrained(
    "UmerHA/Testing-ConrolNetXS-SDXL-depth", torch_dtype=torch.float16
)
pipe = StableDiffusionXLControlNetXSPipeline.from_pretrained(
    "stabilityai/stable-diffusion-xl-base-1.0", controlnet=[canny_controlnet, depth_controlnet], torch_dtype=torch.float16
)

Contributor Guide