rootonchair/diffuser_layerdiffuse

rootonchair
Texto a imagen

Port para Diffusers de Layer Diffusion que permite generar imágenes transparentes mediante difusión con transparencia latente. Extiende flujos de Stable Diffusion y SDXL para crear capas transparentes, combinar primer plano y fondo, y usar pesos condicionales de LayerDiffuse desde Hugging Face.

Como usar

Instalación y uso básico con Diffusers:

pip install -U diffusers transformers accelerate
import torch
from diffusers import DiffusionPipeline

# switch to "mps" for apple devices
pipe = DiffusionPipeline.from_pretrained("rootonchair/diffuser_layerdiffuse", dtype=torch.bfloat16, device_map="cuda")

prompt = "Astronaut in a jungle, cold color palette, muted colors, detailed, 8k"
image = pipe(prompt).images[0]

Ejemplo de generación transparente con SD1.5 y digiplay/Juggernaut_final como modelo base:

from huggingface_hub import hf_hub_download
from safetensors.torch import load_file
import torch
from diffusers import StableDiffusionPipeline
from models import TransparentVAEDecoder
from loaders import load_lora_to_unet

if __name__ == "__main__":
    model_path = hf_hub_download(
        'LayerDiffusion/layerdiffusion-v1',
        'layer_sd15_vae_transparent_decoder.safetensors',
    )
    vae_transparent_decoder = TransparentVAEDecoder.from_pretrained("digiplay/Juggernaut_final", subfolder="vae", torch_dtype=torch.float16).to("cuda")
    vae_transparent_decoder.set_transparent_decoder(load_file(model_path))
    pipeline = StableDiffusionPipeline.from_pretrained("digiplay/Juggernaut_final", vae=vae_transparent_decoder, torch_dtype=torch.float16, safety_checker=None).to("cuda")

    model_path = hf_hub_download(
        'LayerDiffusion/layerdiffusion-v1',
        'layer_sd15_transparent_attn.safetensors'
    )
    load_lora_to_unet(pipeline.unet, model_path, frames=1)

    image = pipeline(prompt="a dog sitting in room, high quality", width=512, height=512, num_images_per_prompt=1, return_dict=False)[0]

Funcionalidades

Generación de imágenes transparentes con modelos SD1.5 usando un decodificador VAE transparente y pesos de atención Layer Diffusion.
Compatibilidad con Diffusers para integrar LayerDiffuse en pipelines de Python.
Pesos SDXL listos para Diffusers en flujos foreground-to-blending, background-to-blending, foreground-and-blend-to-background y background-and-blend-to-foreground.
Conversión de pesos SDXL Forge mediante scripts con modos fg2ble, bg2ble, fgble2bg y bgble2fg.
Ejemplos con opciones CLI para modelo, prompt, semilla, ruta de salida, variante y descarga de CPU.

Casos de uso

Crear imágenes con fondo transparente directamente desde prompts de texto.
Generar capas visuales separadas para composición gráfica, diseño y edición posterior.
Probar flujos LayerDiffuse en pipelines locales de Diffusers en vez de depender de SD WebUI.
Usar pesos SDXL condicionales para mezclar o reconstruir relaciones entre primer plano, fondo y capa combinada.