stable-diffusion-xl-base-0.9
SDXL consiste en un pipeline de dos pasos para la difusión latente: primero se utiliza un modelo base para generar latentes del tamaño deseado. En el segundo paso, se utiliza un modelo especializado de alta resolución y se aplica una técnica llamada SDEdit (también conocida como 'img2img') a los latentes generados en el primer paso, utilizando el mismo prompt. Desarrollado por: Stability AI Tipo de modelo: Modelo generativo basado en difusión de texto a imagen Licencia: Licencia de Investigación SDXL 0.9 Descripción del modelo: Este es un modelo que se puede usar para generar y modificar imágenes basadas en prompts de texto. Es un modelo de Difusión Latente que utiliza dos codificadores de texto preentrenados (OpenCLIP-ViT/G y CLIP-ViT/L). Recursos para más información: Repositorio en GitHub, artículo de SDXL en arXiv.
Como usar
Asegúrese de actualizar los difusores a >= 0.18.0:
pip install diffusers --upgrade
Además, asegúrese de instalar transformers, safetensors, y accelerate, así como el watermark invisible:
pip install invisible_watermark transformers accelerate safetensors
Puedes usar el modelo de la siguiente manera:
from diffusers import DiffusionPipeline
import torch
pipe = DiffusionPipeline.from_pretrained("stabilityai/stable-diffusion-xl-base-0.9", torch_dtype=torch.float16, use_safetensors=True, variant="fp16")
pipe.to("cuda")
# si usas torch < 2.0
# pipe.enable_xformers_memory_efficient_attention()
prompt = "Un astronauta montando un caballo verde"
images = pipe(prompt=prompt).images[0]
Si usas torch >= 2.0, puedes mejorar la velocidad de inferencia en un 20-30% con torch.compile. Simplemente envuelve el unet con torch compile antes de ejecutar el pipeline:
pipe.unet = torch.compile(pipe.unet, mode="reduce-overhead", fullgraph=True)
Si estás limitado por la VRAM de la GPU, puedes habilitar la descarga en CPU llamando a enable_model_cpu_offload en lugar de .to("cuda"):
- pipe.to("cuda")
+ pipe.enable_model_cpu_offload()
Funcionalidades
- Generación de latentes de tamaño deseado.
- Uso de un modelo de alta resolución en el segundo paso.
- Aplicación de la técnica SDEdit (img2img).
- Utiliza codificadores de texto preentrenados OpenCLIP-ViT/G y CLIP-ViT/L.
Casos de uso
- Generación de obras de arte y uso en procesos de diseño y otros procesos artísticos.
- Aplicaciones en herramientas educativas o creativas.
- Investigación sobre modelos generativos.
- Despliegue seguro de modelos que tienen el potencial de generar contenido dañino.
- Sondeo y comprensión de las limitaciones y sesgos de los modelos generativos.