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.