Cómo ejecutar Stable Diffusion en su PC para generar imágenes de IA

Publicado: 2022-09-10

Una tuza mágica generada por IA, un buitre egipcio artístico y una espectacular salida de la luna sobre un desierto. Imagen de cabecera.

El arte de la inteligencia artificial (IA) está actualmente de moda, pero la mayoría de los generadores de imágenes de IA se ejecutan en la nube. Stable Diffusion es diferente: puede ejecutarlo en su propia PC y generar tantas imágenes como desee. Así es como puede instalar y usar Stable Diffusion en Windows.

Tabla de contenido

¿Qué es la difusión estable?
¿Qué necesita para ejecutar Stable Diffusion en su PC?
Cómo instalar y ejecutar Stable Diffusion en Windows
Instalando Git
Instalando Miniconda3
Descargue el repositorio Stable Diffusion GitHub y el último punto de control
Cómo usar la difusión estable
Cómo hacer una imagen con difusión estable
¿Qué significan los argumentos en el comando?

¿Qué es la difusión estable?

Stable Diffusion es un modelo de aprendizaje automático de código abierto que puede generar imágenes a partir de texto, modificar imágenes basadas en texto o completar detalles en imágenes de baja resolución o con pocos detalles. Ha sido entrenado en miles de millones de imágenes y puede producir resultados comparables a los que obtendría con DALL-E 2 y MidJourney. Está desarrollado por Stability AI y se lanzó públicamente por primera vez el 22 de agosto de 2022.

Cómo crear arte sintético de IA con Midjourney
RELACIONADO Cómo crear arte sintético de IA con Midjourney

Stable Diffusion no tiene una interfaz de usuario ordenada (todavía) como algunos generadores de imágenes de IA, pero tiene una licencia extremadamente permisiva y, lo mejor de todo, es completamente gratuito para usar en su propia PC (o Mac).

No se deje intimidar por el hecho de que Stable Diffusion actualmente se ejecuta en una interfaz de línea de comandos (CLI). Ponerlo en funcionamiento es bastante sencillo. Si puede hacer doble clic en un ejecutable y escribir en un cuadro, puede ejecutarlo en unos minutos.

¿Qué necesita para ejecutar Stable Diffusion en su PC?

Stable Diffusion no se ejecutará en su teléfono ni en la mayoría de las computadoras portátiles, pero se ejecutará en la PC de juegos promedio en 2022. Estos son los requisitos:

  • Una GPU con al menos 6 gigabytes (GB) de VRAM
    • Esto incluye la mayoría de las GPU NVIDIA modernas
  • 10 GB (más o menos) de espacio de almacenamiento en su disco duro o unidad de estado sólido
  • El instalador Miniconda3
  • Los archivos Stable Diffusion de GitHub
  • Los últimos puntos de control (versión 1.4, en el momento de escribir este artículo, pero la 1.5 debería lanzarse pronto)
  • El instalador de Git
  • Windows 8, 10 u 11
    • Stable Diffusion también se puede ejecutar en Linux y macOS

Cómo instalar y ejecutar Stable Diffusion en Windows

Hay dos piezas de software que necesita: Git y Miniconda3.

Nota: Git y Miniconda3 son programas seguros producidos por organizaciones acreditadas. No necesita preocuparse por el malware con ellos siempre que los descargue de las fuentes oficiales vinculadas en este artículo.

Instalando Git

Git es una herramienta que permite a los desarrolladores administrar diferentes versiones del software que están desarrollando. Pueden mantener múltiples versiones del software en el que están trabajando en un repositorio central simultáneamente y permitir que otros desarrolladores contribuyan al proyecto.

RELACIONADO: ¿Qué es GitHub y para qué se utiliza?

Si no es desarrollador, Git proporciona una manera conveniente de acceder y descargar estos proyectos, y así es como lo usaremos en este caso. Descargue el instalador de Windows x64 del sitio web de Git y luego ejecútelo.

Hay varias opciones que se le pedirá que seleccione mientras se ejecuta el instalador; déjelas en su configuración predeterminada. Una página de opciones, "Ajuste de su entorno PATH", es particularmente importante. Debe establecerse en "Git desde la línea de comandos y también desde software de terceros".

Asegúrese de que esté seleccionado "Git desde la línea de comandos y también desde software de terceros".

Instalando Miniconda3

Stable Diffusion se basa en algunas bibliotecas de Python diferentes. Si no sabe mucho sobre Python, no se preocupe demasiado por esto; basta con decir que las bibliotecas son solo paquetes de software que su computadora puede usar para realizar funciones específicas, como transformar una imagen o hacer operaciones matemáticas complejas.

RELACIONADO: ¿Qué es Python?

Miniconda3 es básicamente una herramienta de conveniencia. Le permite descargar, instalar y administrar todas las bibliotecas necesarias para que Stable Diffusion funcione sin mucha intervención manual. También será cómo usamos Stable Diffusion.

Dirígete a la página de descarga de Miniconda3 y haz clic en "Miniconda3 Windows de 64 bits" para obtener el instalador más reciente.

Haga doble clic en el ejecutable una vez que se haya descargado para iniciar la instalación. La instalación de Miniconda3 implica menos clics en las páginas que Git, pero debe tener cuidado con esta opción:

Marque la casilla que dice "Todos los usuarios".

Asegúrese de seleccionar "Todos los usuarios" antes de hacer clic en Siguiente y finalizar la instalación.

Se le pedirá que reinicie su computadora después de instalar Git y Miniconda3. No consideramos que sea necesario, pero no te hará daño si lo haces.

Descargue el repositorio Stable Diffusion GitHub y el último punto de control

Ahora que hemos instalado el software de requisito previo, estamos listos para descargar e instalar Stable Diffusion.

Descargue primero el último punto de control: la versión 1.4 tiene casi 5 GB, por lo que puede llevar un tiempo. Debe crear una cuenta para descargar el punto de control, pero solo requieren un nombre y una dirección de correo electrónico. Todo lo demás es opcional.

Nota: Al momento de escribir (2 de septiembre de 2022), el último punto de control es la versión 1.4. Si hay una versión más nueva, descárguela en su lugar.

Haga clic en "sd-v1-4.ckpt" para iniciar la descarga.

Nota: El otro archivo, "sd-v1-4-full-ema.ckpt", podría proporcionar mejores resultados, pero tiene aproximadamente el doble de tamaño. Puedes usar cualquiera.

Luego debe descargar Stable Diffusion de GitHub. Haga clic en el botón verde "Código", luego haga clic en "Descargar ZIP". Alternativamente, puede usar este enlace de descarga directa.

Ahora necesitamos preparar algunas carpetas donde descomprimiremos todos los archivos de Stable Diffusion. Haga clic en el botón Inicio y escriba "miniconda3" en la barra de búsqueda del menú Inicio, luego haga clic en "Abrir" o presione Entrar.

Vamos a crear una carpeta llamada "difusión estable" usando la línea de comando. Copie y pegue el bloque de código a continuación en la ventana Miniconda3, luego presione Enter.

 Centros para el Control y la Prevención de Enfermedades:/
mkdir difusión estable
cd difusión estable
Nota: Casi cada vez que pega un bloque de código en una terminal, como Miniconda3, debe presionar Enter al final para ejecutar el último comando.

Si todo salió bien, verás algo como esto:

Terminal Minoconda3 que muestra comandos ejecutándose con éxito.

Mantenga abierta la ventana Miniconda3, la necesitaremos nuevamente en un minuto.

Abra el archivo ZIP, "stable-diffusion-main.zip", que descargó de GitHub en su programa de archivo de archivos favorito. Alternativamente, Windows también puede abrir archivos ZIP por sí mismo si no tiene uno. Mantenga el archivo ZIP abierto en una ventana, luego abra otra ventana del Explorador de archivos y navegue hasta la carpeta "C:\stable-diffusion" que acabamos de crear.

RELACIONADO: Obtenga ayuda con el Explorador de archivos en Windows 10

Arrastre y suelte la carpeta en el archivo ZIP, "stable-diffusion-main", en la carpeta "stable-diffusion".

Arrastre y suelte el contenido del archivo ZIP en la carpeta de difusión estable.

Regrese a Miniconda3, luego copie y pegue los siguientes comandos en la ventana:

 cd C:\difusión-estable\difusión-estable-principal
conda env crear -f entorno.yaml
conda activar ldm
mkdir models\ldm\stable-difusión-v1 

Espera a que termine la descarga.

No interrumpa este proceso. Algunos de los archivos tienen más de un gigabyte, por lo que podría tardar un poco en descargarse. Si interrumpe el proceso accidentalmente, deberá eliminar la carpeta del entorno y ejecutar conda env create -f environment.yaml nuevamente. Si eso sucede, vaya a "C:\Users\(Your User Account)\.conda\envs" y elimine la carpeta "ldm", luego ejecute el comando anterior.

Nota: Entonces, ¿qué acabamos de hacer? Python le permite ordenar los proyectos de codificación en "Entornos". Cada entorno está separado de otros entornos, por lo que puede cargar diferentes bibliotecas de Python en diferentes entornos sin tener que preocuparse por las versiones en conflicto. Es invaluable si está trabajando en múltiples proyectos en una PC.

Las líneas que ejecutamos crearon un nuevo entorno llamado "ldm", descargaron e instalaron todas las bibliotecas de Python necesarias para que Stable Diffusion funcione, activaron el entorno ldm y luego cambiaron el directorio a una nueva carpeta.

Estamos en el último paso de la instalación. Vaya a "C:\stable-diffusion\stable-diffusion-main\models\ldm\stable-diffusion-v1" en el Explorador de archivos, luego copie y pegue el archivo de punto de control (sd-v1-4.ckpt) en la carpeta.

Copie el archivo del modelo en la carpeta stable-diffuse-v1.

Espere a que el archivo termine de transferirse, haga clic derecho en "sd-v1-4.ckpt" y luego haga clic en "Cambiar nombre". Escriba "model.ckpt" en el cuadro resaltado, luego presione Enter para cambiar el nombre del archivo.

Nota: si está ejecutando Windows 11, no verá "cambiar nombre" en el menú contextual del botón derecho. En su lugar, hay un icono que parece un campo de texto en miniatura.

RELACIONADO: Los pequeños botones del menú contextual de Windows 11 confundirán a las personas

Cambie el nombre del archivo de modelo "model.ckpt"

Y eso es todo, hemos terminado. Estamos listos para usar Difusión estable ahora.

Cómo usar la difusión estable

El entorno ldm que creamos es esencial y debe activarlo cada vez que desee utilizar Stable Diffusion. Ingrese conda activate ldm en la ventana Miniconda3 y presione "Enter". El (ldm) en el lado izquierdo indica que el entorno ldm está activo.

Nota: solo necesita ingresar ese comando cuando abre Miniconda3. El entorno ldm permanecerá activo mientras no cierre la ventana.

Active el entorno ldm.

Luego necesitamos cambiar el directorio (por lo tanto, el comando cd ) a “C:\stable-diffusion\stable-diffusion-main” antes de que podamos generar cualquier imagen. Pegue cd C:\stable-diffusion\stable-diffusion-main en la línea de comando.

Cómo hacer una imagen con difusión estable

Vamos a llamar a un script, txt2img.py, que nos permite convertir indicaciones de texto en imágenes de 512 × 512. Aquí hay un ejemplo. Prueba esto para asegurarte de que todo funciona correctamente:

 python scripts/txt2img.py --prompt "un retrato de primer plano de un gato de pablo picasso, vívido, arte abstracto, colorido, vibrante" --plms --n_iter 5 --n_samples 1

Su consola le dará un indicador de progreso a medida que produce las imágenes.

Difusión estable generando imágenes.

Ese comando producirá cinco imágenes cat, todas ubicadas en "C:\stable-diffusion\stable-diffusion-main\outputs\txt2img-samples\samples".

Un gato al estilo de Pablo Picasso.

No es perfecto, pero se parece claramente al estilo de Pablo Picasso, tal como lo especificamos en el aviso. Sus imágenes deben verse similares pero no necesariamente idénticas.

Cada vez que desee cambiar la imagen que se genera, solo necesita cambiar el texto contenido en las comillas dobles que siguen --prompt .

Consejo: no reescribas la línea completa cada vez. Use las teclas de flecha para mover el cursor de texto y simplemente reemplace el aviso.
 python scripts/txt2img.py --prompt " SU, DESCRIPCIONES, IR, AQUÍ " --plms --n_iter 5 --n_samples 1

Digamos que queríamos generar una ardilla de aspecto realista en un bosque mágico con un sombrero de mago. Podríamos probar el comando:

 python scripts/txt2img.py --prompt "una fotografía de una tuza con un sombrero de mago en un bosque, vívida, fotorrealista, mágica, fantasía, 8K UHD, fotografía" --plms --n_iter 5 --n_samples 1 

Una tuza con un sombrero de mago morado.

Realmente es así de fácil: simplemente describe lo que quieres de la forma más específica posible. Si desea algo fotorrealista, asegúrese de incluir términos relacionados con una imagen realista. Si quieres algo inspirado en el estilo de un artista específico, especifica el artista.

Stable Diffusion no se limita a retratos y animales, también puede producir paisajes sorprendentes.

Un lago tranquilo con montañas a su alrededor y un cielo espectacular.

¿Qué significan los argumentos en el comando?

Stable Diffusion tiene una enorme cantidad de configuraciones y argumentos que puede proporcionar para personalizar sus resultados. Los pocos incluidos aquí son básicamente necesarios para garantizar que Stable Diffusion se ejecute en una computadora de juegos promedio.

  • –plms — Especifica cómo se muestrearán las imágenes. Hay un artículo al respecto, si quieres comprobar las matemáticas.
  • –n_iter: especifica el número de iteraciones que desea generar para cada solicitud. 5 es un número decente para ver qué tipo de resultados está obteniendo.
  • –n_samples — especifica el número de muestras que se generarán. El valor predeterminado es 3, pero la mayoría de las computadoras no tienen suficiente VRAM para admitir eso. Quédese con 1 a menos que tenga una razón específica para cambiarlo.

Por supuesto, Stable Diffusion tiene un montón de argumentos diferentes que puedes implementar para modificar tus resultados. Ejecute python scripts/txt2img.py --help para obtener una lista exhaustiva de argumentos que puede usar.

Hay un montón de pruebas y errores involucrados para obtener excelentes resultados, pero eso es al menos la mitad de la diversión. Asegúrese de escribir o guardar argumentos y descripciones que devuelvan los resultados que le gustan. Si no quiere hacer todo el experimento usted mismo, existen comunidades en crecimiento en Reddit (y en otros lugares) dedicadas a intercambiar imágenes y las indicaciones que las generaron.