Corregir conflictos de dependencias en Inteligencia Artificial.
Versiones de CUDA, Pytorch y xFormers para usar AUTOMATIC1111 con Stable Diffusion.
Para que todo funcione de manera correcta necesitamos que se “lleven bien” estos programas, y el que va a decirnos como será pytorch, ya que es el común.
También debemos controlar la versión de python, que la marcha torch, en el momento de escribir esta entrada, stable-diffusion-webui (AUTOMATIC1111) ha sido actualizado para que use la versión de torch 2.1.2, con la versión anterior no se podía tener instalado python superior a la versión 3.10.6 ahora pone en la página que es compatible hasta la versión 3.11, mi consejo, que si algo funciona, no lo cambies.
Versiones de python para windows en: https://www.python.org/downloads/windows/
Partimos de la base, que la instalación está en un entorno virtual venv de python para pip, para la instalación de las bibliotecas, y que tenemos python-pip instalado.
TL;TR
pip install torch==2.1.2 torchvision==0.16.2 torchaudio==2.1.2 xformers --index-url https://download.pytorch.org/whl/cu121
Pytorch
Comando para saber la versión instalada
python -c "import torch; print(torch.__version__)"
En mi caso muestra 2.1.0+cpu
Como queremos usar CUDA y la GPU del equipo, hay que consultar la página de pytoch.
https://pytorch.org/
# CUDA 12.1
pip install torch==2.1.2 torchvision==0.16.2 torchaudio==2.1.2 --index-url https://download.pytorch.org/whl/cu121
CUDA
Comprobar la versión instalada, usando el comando:
nvcc --version
Enlace de descargas CUDA
https://developer.nvidia.com/cuda-toolkit-archive
xFormers
Si hacemos un pip install xformers instalará la última versión, cosa que no queremos.
No deja seleccionar la versión y tampoco sabemos la que necesitamos, ya que no está documentado, pero si al comando de instalación de pytorch le agregamos xformers, él se encargará de buscar e instalar la versión compatible.
pip install torch==2.1.2 torchvision==0.16.2 torchaudio==2.1.2 xformers --index-url https://download.pytorch.org/whl/cu121
Bonus: cuDNN
Si tenemos una cuenta de desarrollador de NVIDIA podemos instalar esta biblioteca que agregara optimizaciones considerables para algunos de los algoritmos.
https://developer.nvidia.com/cudnn-downloads