Ahora, algunos de nosotros no tenemos GPUs elegantes. Está bien. Podemos ejecutar Stable Diffusion en nuestras CPUs.
Esta es una implementación increíblemente básica de Stable Diffusion, no esperes características de vanguardia.
Si tienes una GPU compatible que tiene 2-4gb Vram o más, prueba la guía de Voldy.
Para la mayoría de los propósitos, puede ser más práctico usar un servicio web o un collab para Stable Diffusion.
Pero hay algo especial en poder generar en tu propia humilde CPU.
Todo el crédito va a bes-dev y rpyth
- Características
Txt2img/img2img
Prompts negativos
Colas de prompts
Escalado
Soporte para Waifu Diffusion
- Requisitos Mínimos:
Windows/Linux
Python 3.8.+ (incluido en Miniconda)
CPU compatible con OpenVINO (la mayoría de las CPUs)
8gb RAM (apenas suficiente, se recomienda 16gb+)
- ¿Qué tan rápido es?
Puede que no sea tan rápido como una GPU dedicada debido a la limitación de velocidad de memoria, pero tampoco es lento.
Para cualquier CPU de los últimos 10 años, incluidas las de portátiles, no debería tardar mucho más de un par de minutos por resultado de 512x.
El marco openVINO está increíblemente optimizado y es rápido, especialmente para CPUs Intel, y aprovechará al máximo el potencial de tu hardware.
Guía
Paso 1. Instala Git si aún no lo tienes.
-Al instalar, asegúrate de seleccionar la integración de Windows Explorer > Git Bash.
Paso 2. (W10) Presiona la tecla de Windows + I para abrir tu panel de control y busca "Modo Desarrollador", activándolo on.
Paso 3. Descarga Miniconda AQUÍ. Descarga Miniconda 3.
-Instala Miniconda en la ubicación predeterminada. Instala para todos los usuarios.
Paso 4. Clona el repositorio.
-Haz clic derecho en la ubicación deseada y selecciona 'Git Bash aquí'.
-Ingresa git clone https://github.com/bes-dev/stable_diffusion.openvino.
Alternativamente, puedes descargarlo como un .zip Aquí y extraerlo.
Paso 5. Abre Anaconda Prompt (miniconda3).
Navega a la /stable-diffusion-v1-4-openvino carpeta donde lo descargaste usando "cd" para cambiar de carpeta.
(O simplemente escribe "cd" seguido de un espacio y luego arrastra la carpeta al prompt de Anaconda.)
Paso 6. Ingresa los siguientes comandos en Miniconda para configurar tu entorno:
conda create --name vin python=3.9 pip
conda activate vin
conda install pip
pip install -r requirements.txt
pip install Pillow pyyaml sv-ttk
Espera pacientemente mientras se instalan los recursos necesarios, esto puede tardar un tiempo.
Paso 7. Descarga los scripts de pyGUI.
Extrae y copia todos los archivos dentro de tu carpeta principal /stable-diffusion-v1-4-openvino y selecciona reemplazar en cualquier conflicto de archivos.
Paso 8. Descarga el escalador RealESRGAN (versión linux)
Descomprime y coloca la carpeta dentro de /stable-diffusion-v1-4-openvino
Y ya está.
Uso
1. Abre el prompt de Miniconda y navega a /stable-diffusion-v1-4-openvino como antes.
2. Escribe conda activate vin (Necesitarás hacer esto cada vez que ejecutes el script).
3. Escribe python pygui.py.
CONFIGURACIÓN POR PRIMERA VEZ
Ve a Configuración -> Configurar en la GUI.
-Presiona [?] para abrir el explorador de archivos y vincula el ejecutable de RealESRGAN presionando 'abrir'.
-Vincula tu archivo demo.py de la carpeta openvino de la misma manera.
-Agrega la ruta a tu ejecutable de Python, debería ser C:\ProgramData\Miniconda3\python.exe.
-Presiona guardar.
Generación
- Ve a Cola -> Agregar Elemento para ingresar un nuevo prompt.
- O Cola -> Restaurar Elemento para cargar tu último prompt ingresado.
Prompt: Palabras clave que describen lo que quieres, sé descriptivo para obtener los mejores resultados.
Unprompt: Palabras clave que describen lo que no quieres en tu imagen.
Salida: Ruta de salida y nombre de tu salida .png.
Imagen: Img2Img, selecciona un archivo de imagen para crear variantes de él.
Pasos: Cuántas iteraciones deben hacerse para la salida. Más = mejor. 35-55 es el punto óptimo. >75 es excesivo.
Semilla: Semilla para la salida, aleatorizada por defecto.
Escalar: Elige cómo quieres que se escale tu imagen.
Config: Guardar información sobre tu salida.
Enlaces/Notas
- Si estás recibiendo errores de versión de Python con 3.10 y no quieres tener instalaciones en conflicto, prueba el portable Winpython 3.9.
- Puedes poner en cola Múltiples prompts diferentes para ejecutar uno tras otro.
Esto puede ser muy conveniente ya que no necesitas esperar a que una salida termine para ingresar un nuevo prompt.
- Si no seleccionas una carpeta de salida, se guardarán en /appdata/local/tmp. Presiona 'guardar como' para no perderlas.
- Si tus salidas son o se vuelven inusualmente lentas (10-15+ minutos),
es probable que hayas excedido el límite de RAM y SD esté utilizando la partición de intercambio en tu disco como RAM provisional. (Problema común con 8gb).
Cierra todos los demás programas y libera más memoria.
- Stable Diffusion openVINO Github
- Página de Stable Diffusion openVINO
- Página de Litechan
- Progrock escalador (compatible con openVINO)
–VELOCIDAD POR RESULTADO–
(Intel(R) Core(TM) i5-8279U) 7.4 s/it 3.59 min
(AMD Ryzen Threadripper 1900X) 5.34 s/it 2.58 min
(Intel(R) Xeon(R) Gold 6154 CPU) 1 s/it 33 s