DEV Community

Raül Martínez i Peris
Raül Martínez i Peris

Posted on

Stable-diffusion model runing on local machine

Después de realizar varias pruebas del modelo Stable-Diffusion en diferentes webs me he quedado sin "credits", por lo que tenía dos opciones:

  • a. Pagar para continuar probando y experimentando.
  • b. ¿Puedo tener en mi ordenador instalado Stable-Diffusion y continuar probando?

Es evidente que este artículo lo escribo porque sí que se puede.

Tengo instalada la distro https://neon.kde.org/ (iso: neon-user-20231221-0716.iso), y explicaré lo que tuve que hacer.

Previo

Antes de empezar, tenía que saber si mi PC podría ejecutarlo.

Lo primero: necesitamos una GPU Nvidia con Cuda funcionando.

Lo segundo: no sirve cualquiera, recomendable una con al menos 12gb de VRAM. Aunque puedes saltarte este requisito si utilizas la memoria swap como indiqué en el artículo anterior.

Problema encontrado: aunque mi equipo tiene una GPU Nvidia, y he podido instalar Cuda (mira mi anterior artículo), no tiene todas las caracerísticas necesarias para poderse ejecutar, así que dependiendo de la aplicación habrá que obligarla a utilizar la CPU en vez de la GPU.

Pero vayamos al meollo.

Documentación

Documéntate en https://stable-diffusion-art.com/automatic1111/. https://andrewongai.gumroad.com/l/stable_diffusion_quick_start y en https://huggingface.co/runwayml/stable-diffusion-v1-5

Instalación

Los pasos que yo seguí fueron los siguientes:

Descargar el repo de AUTOMATIC1111 y el modelo de Stable-Diffusion:

git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git

cd stable-diffusion-webui/models/Stable-diffusion

git clone https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned-emaonly.ckpt

cd ../..
Enter fullscreen mode Exit fullscreen mode

Instalamos algunos requisitos previos (recomendable python 3.11, ni más, ni menos):

sudo apt install python3.11 python3-pip python3.11-venv libgl1 libglib2.0-0
sudo apt install ffmpeg
pip install virtualenv
pip install --upgrade pip
Enter fullscreen mode Exit fullscreen mode

Ahora vamos preparar la aplicación:

python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
Enter fullscreen mode Exit fullscreen mode

Si tienes problemas con las versiones que se intentan instalar con requirements, puedes lanzar el requirements versionado:

pip install -r requirements_versions.txt
Enter fullscreen mode Exit fullscreen mode

Finalmente hacemos varios retoques:

pip install xformers
pip install imageio-ffmpeg
pip install numpy
Enter fullscreen mode Exit fullscreen mode

Lanzamos la aplicacion. En mi caso, aunque mi portátil tiene una GPU y Cuda instalado, no es suficiente para que utilice todo su potencial, por lo que será necesario arrancar la aplicación saltándose la comprobación de Cuda:

./webui.sh --no-half --skip-torch-cuda-test 
Enter fullscreen mode Exit fullscreen mode

La primera vez tarda más porque todavía se instalarán más dependencias. Una vez terminada podremos acceder por web a la interfaz:

http://127.0.0.1:7860/
Enter fullscreen mode Exit fullscreen mode

Ahora solo te queda empezar a disfrutar de tu generador de imágenes txt2img (y otras muchas) en tu máquina.

Advertencia

Para cualquier fallo acude a las respectivas páginas.

Top comments (0)