La generación de imágenes con inteligencia artificial ha tomado a la Web y las redes sociales por asalto. Las soluciones online son cada vez más robustas y avanzadas, pero la ejecución local de modelos tiene dos ventajas fundamentales, que son su gratuidad, y la eliminación de los límites impuestos por las plataformas en línea. La mejor opción offline sigue siendo Stable Diffusion, pero su configuración estándar recomienda tarjetas gráficas Nvidia. Por suerte, recomendación no significa obligación, y hoy vamos a explorar una forma de redireccionar a Stable Diffusion para que utilice el CPU…
¿Acaso deseas mojarte los pies en las aguas de la generación de imágenes? La forma más sencilla es abriendo una cuenta en DreamStudio o haciendo uso de Midjourney a través de Discord, pero ninguna de esas opciones es gratuita, y deberás comprar créditos una vez que hayas agotado sus pruebas de cortesía. Como alternativa, la demo pública de Stable Diffusion no se ha ido a ninguna parte, y si tienes paciencia (me refiero a la cola de espera, los errores espontáneos y «trabajar» tus prompts) puedes crear imágenes muy interesantes.
Sin embargo, también existe la generación offline, y si posees una tarjeta gráfica Nvidia compatible, es por lejos la mejor forma de obtener imágenes. ¿Las razones? Puedes explorar diferentes modelos compartidos por la comunidad, escapar a los (lógicos) límites de las ediciones online, y lo más importante, que es crear imágenes sin pagar ni un solo centavo. ¿Pero qué sucede si la tarjeta de vídeo no es una opción? En ese caso, la solución es convencer a Stable Diffusion para que utilice el CPU.
Antes de comenzar…
Debes moderar tus expectativas. El proceso sacrifica tiempo a cambio de compatibilidad. El rendimiento exacto depende de cada procesador y qué tan fuertes sean sus núcleos («núcleos» en plural, definitivamente necesitas un chip multicore y 16 GB de RAM para esto), pero en promedio deberás esperar unos cinco minutos por imagen configurada a 20 pasos. Algunos métodos de sampling requieren entre 30 y 40 para alcanzar resultados óptimos, por lo tanto, hay que armarse de paciencia.
Cómo configurar a Stable Diffusion sin tarjeta de vídeo
- En esencia, esta guía sigue los mismos pasos del tutorial de instalación para la versión WebUI de Stable Diffusion desarrollada por Automatic1111 en GitHub. Es una de las más populares y actualizadas en la Web, pero no funcionará con procesadores sin un par de modificaciones al final. Ese es nuestro trabajo.
- En primer lugar, debes instalar Python 3.10.6 o superior, seleccionando la opción «Add Python to PATH» cuando el instalador presente esa opción.
- Luego llega el turno de Git para Windows. Al momento de escribir estas líneas, su último build es el 2.38.0, compatible con sistemas de 64 bits.
- Dos opciones aquí: Puedes usar el comando git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git para descargar el repositorio completo, o realizar esa misma descarga manualmente, haciendo clic en el botón verde Code, y luego eligiendo Download Zip. La primera ruta te permite usar git pull para actualizarlo más tarde, y con la segunda necesitas descargar el zip en cada ocasión. De todas maneras, la instalación de git es obligatoria.
- El paso más complicado: Obtener el modelo 1.4 de Stable Diffusion. Esto es un ladrillo de cuatro gigabytes, por lo que recomiendo usar un enlace magnet para su descarga vía BitTorrent. Otra alternativa es la descarga directa, pero cruza los dedos para que no se interrumpa tu conexión.
- Una vez descargado el modelo, deberás cambiar su nombre a model.ckpt, y colocarlo dentro de stable-diffusion-webui-master\models\Stable-diffusion\. El resto de los modelos se descargan automáticamente con la primera ejecución.
- No hemos salido de la jungla aún. La clave para que esto funcione es forzar el uso del CPU, y al mismo tiempo indicar que no hay dispositivos CUDA presentes.
- Para lograr esto, debes editar el archivo webui.bat, y añadir dos línea como lo muestra la imagen más abajo: set CUDA_VISIBLE_DEVICES=-1, y set COMMANDLINE_ARGS=–precision full –no-half –use-cpu all –skip-torch-cuda-test –autolaunch. Guarda los cambios.
- Abre una consola con privilegios elevados, y ejecuta webui.bat. Dicha elevación no es estrictamente necesaria, pero evita cualquier conflicto potencial con Windows.
- Si WebUI necesita algo más, es muy probable que trate de descargarlo automáticamente. Este es el comportamiento esperado. Si todo sale bien, el WebUI de Stable Diffusion se abrirá en la pestaña de tu navegador predeterminado, con dirección 127.0.0.1:7860.
- Ingresa un prompt, y limita la cantidad de pasos a 20 para comenzar. No todos los samplers funcionan en modo CPU (por ejemplo, DDIM), y mi sugerencia es permanecer en Euler A o LMS. Un clic en Generate, y a esperar.
¡Eso es todo! Con estos pasos, la generación de imágenes usando Stable Diffusion y un procesador se hará realidad. El resto es… paciencia. En lo personal puedo crear 16 imágenes en GPU por cada una en CPU, por lo que estamos ante una diferencia enorme de rendimiento, sin embargo, calibrar el número de pasos y la resolución te ayudarán a reducir el tiempo de procesamiento. ¡Buena suerte!
Buenas tardes, gracias por el tutorial, queria preguntar donde puedo conseguir el .torrent ya que el enlace aqui me lleva a esta pagina de nuevo
Estoy teniendo algunos problemas para inyectar el magnet directamente, pero ahora el enlace te lleva a la sección de Dependencias de Automatic1111, el magnet está allí. Al mismo tiempo, la versión 1.5 del modelo ya está circulando, tal vez hayas descargado esa versión para cuando leas esto…
El codigo de la imagen es distinto al de la publicacion, compare ante de pegar aqui se lo dejo arreglado igual compare con la imagen:
set CUDA_VISIBLE_DEVICES=-1
set COMMANDLINE_ARGS=–precision full –no-half –use-cpu all –skip-torch-cuda-test –autolaunch