Stable Diffusion v1-2
CompVis
Texto a imagen
Stable Diffusion es un modelo de difusión de texto a imagen capaz de generar imágenes fotorrealistas a partir de cualquier entrada de texto. El punto de control Stable-Diffusion-v1-2 se inicializó con los pesos del punto de control Stable-Diffusion-v1-1 y posteriormente se mejoró con 515,000 pasos a una resolución de 512x512 en 'laion-improved-aesthetics' (un subconjunto de laion2B-en, filtrado a imágenes con un tamaño original de 512x512, una puntuación estética estimada de 5.0 y una probabilidad de marca de agua estimada <0.5).
Como usar
Recomendamos usar la biblioteca Diffusers de 🤗 para ejecutar Stable Diffusion.
pip install --upgrade diffusers transformers scipy
Running the pipeline with the default PNDM scheduler:
```python
import torch
from torch import autocast
from diffusers import StableDiffusionPipeline
model_id = "CompVis/stable-diffusion-v1-2"
device = "cuda"
pipe = StableDiffusionPipeline.from_pretrained(model_id)
pipe = pipe.to(device)
prompt = "a photo of an astronaut riding a horse on mars"
with autocast("cuda"):
image = pipe(prompt)["sample"][0]
image.save("astronaut_rides_horse.png")
Note:
Si estás limitado por la memoria de la GPU y tienes menos de 10GB de RAM disponible, asegúrate de cargar el StableDiffusionPipeline en precisión float16 en lugar de la precisión float32 predeterminada.
```python
import torch
pipe = StableDiffusionPipeline.from_pretrained(model_id, torch_dtype=torch.float16)
pipe = pipe.to(device)
prompt = "a photo of an astronaut riding a horse on mars"
with autocast("cuda"):
image = pipe(prompt, guidance_scale=7.5)["sample"][0]
image.save("astronaut_rides_horse.png")
To swap out the noise scheduler, pass it to from_pretrained:
from diffusers import StableDiffusionPipeline, LMSDiscreteScheduler
model_id = "CompVis/stable-diffusion-v1-2"
# Use the K-LMS scheduler here instead
scheduler = LMSDiscreteScheduler(beta_start=0.00085, beta_end=0.012, beta_schedule="scaled_linear", num_train_timesteps=1000)
pipe = StableDiffusionPipeline.from_pretrained(model_id, scheduler=scheduler, use_auth_token=True)
pipe = pipe.to("cuda")
prompt = "a photo of an astronaut riding a horse on mars"
with autocast("cuda"):
image = pipe(prompt, guidance_scale=7.5)["sample"][0]
image.save("astronaut_rides_horse.png")
Funcionalidades
- Generación de imágenes fotorrealistas basadas en entradas de texto.
- Modelo de difusión de texto a imagen latente.
- Uso del codificador de texto preentrenado CLIP ViT-L/14.
- Entrenado a resolución de 512x512 en 'laion-improved-aesthetics'.
Casos de uso
- Despliegue seguro de modelos que tienen el potencial de generar contenido dañino.
- Sondear y entender las limitaciones y los sesgos de los modelos generativos.
- Generación de obras de arte y uso en procesos de diseño y otras aplicaciones artísticas.
- Aplicaciones en herramientas educativas o creativas.
- Investigación sobre modelos generativos.