Ejecutar ComfyUI en Google Colab
ComfyUI no solo se puede instalar localmente, sino que también se puede ejecutar en plataformas en la nube. Este artículo presentará cómo ejecutar ComfyUI en Google Colab, que es un método conveniente basado en la nube.
Características y Ventajas de Google Colab
Google Colab (Colaboratory) es un entorno de cuaderno Jupyter basado en la nube gratuito proporcionado por Google. Tiene las siguientes características y ventajas:
-
Gratis para usar: Google Colab proporciona recursos gratuitos de GPU y TPU, permitiendo a los usuarios ejecutar modelos de aprendizaje profundo sin hardware local.
-
Entorno preinstalado: Colab viene preinstalado con muchas bibliotecas comunes de aprendizaje automático y ciencia de datos, como TensorFlow, PyTorch, OpenCV, etc., eliminando la molestia de la configuración del entorno.
-
Características de colaboración: Es fácil compartir y editar cuadernos de manera colaborativa con otros, lo que lo hace ideal para proyectos en equipo y enseñanza.
-
Integración con Google Drive: Puedes cargar datos directamente desde y guardar resultados en Google Drive, facilitando la gestión de datos.
-
Ejecución en línea: Solo necesitas un navegador para ejecutar código, sin estar limitado por dispositivo o sistema operativo.
-
Almacenamiento persistente: Aunque el entorno de ejecución es temporal, puedes guardar código y datos en Google Drive para almacenamiento persistente.
-
Soporte comunitario: Hay numerosos cuadernos de ejemplo y soporte comunitario disponibles, lo que permite un aprendizaje y resolución de problemas rápidos.
Para los usuarios de ComfyUI, usar Google Colab para ejecutar ComfyUI puede evitar la complejidad de la instalación local mientras aprovecha los poderosos recursos de computación en la nube. Es particularmente adecuado para usuarios sin GPUs de alto rendimiento o para recién llegados que desean probar rápidamente ComfyUI.
Si solo estás probando ComfyUI, Google proporciona una cierta cantidad de uso gratuito. Si eres un usuario a largo plazo, se recomienda suscribirse a Colab Pro o Pro+. Enlace de registro y suscripción: https://colab.research.google.com/signup
Ejecutando ComfyUI en Google Colab
Google Colab es un entorno de cuaderno Jupyter basado en la nube gratuito, muy adecuado para ejecutar ComfyUI, aunque tiene algunas limitaciones de tiempo de uso. ComfyUI proporciona scripts correspondientes, que puedes encontrar en comfyui_colab.ipynb
El archivo .ipynb es un formato de archivo de cuaderno Jupyter. Usando este archivo, puedes ejecutar y crear un entorno virtual para ejecutar varios tipos de aplicaciones en Google Colab.
Editando y Modificando .ipynb (Opcional)
Esta parte es opcional. Si no necesitas modelos adicionales e instalación de complementos extra, esta sección podría ser larga. Puedes saltar a la siguiente parte para comenzar directamente con la configuración predeterminada oficial. Puedes volver a esta sección más tarde si necesitas modificar la configuración tú mismo.
En la configuración predeterminada, el script proporcionado por la fuente oficial descarga menos modelos y archivos. Si necesitas usar algunos modelos adicionales, puedes editar el archivo comfyui_colab.ipynb
. Se recomienda descargar e instalar VSCode para editar el archivo .ipynb.
El código oficial proporciona principalmente los siguientes pasos:
-
Configuración del Entorno Configura el entorno de trabajo y las opciones, incluyendo si usar almacenamiento de Google Drive y si actualizar ComfyUI. Esta parte asegura que las dependencias y archivos requeridos estén correctamente configurados.
-
Descarga de Modelos y Puntos de Control Responsable de descargar modelos y puntos de control requeridos de fuentes externas para su uso posterior. Los usuarios pueden elegir descargar modelos específicos según sea necesario.
-
Ejecutando ComfyUI Esta parte se divide en tres subsecciones, proporcionando diferentes formas de acceder a ComfyUI:
-
3.1 Usando Cloudflared Crea un túnel a través de Cloudflared, permitiendo a los usuarios externos acceder a la ComfyUI en ejecución.
-
3.2 Usando Localtunnel Usa Localtunnel para generar un enlace accesible externamente para acceder a ComfyUI.
-
3.3 Usando Colab IFrame Muestra la interfaz de ComfyUI a través de un iframe en el cuaderno de Colab, conveniente para que los usuarios operen en el mismo entorno.
-
Para el primer paso de configuración del entorno, generalmente lo ejecutamos por defecto.
-
El segundo paso requiere descargar modelos y archivos adicionales, y proporciona descargas para modelos comúnmente utilizados. En este paso, necesitamos agregar y ajustar modificaciones según sea necesario.
-
El tercer paso trata sobre cómo ejecutar ComfyUI después de que la instalación y configuración estén completas. Elegimos uno de estos métodos según sea necesario.
Modificando Archivos de Modelos en el Paso Dos según sea Necesario
Abre el código para editar en VSCode como se muestra a continuación
Como se muestra en la imagen a continuación, podemos notar que la fuente oficial ha escrito una pista aquí
Texto original: Download some models/checkpoints/vae or custom comfyui nodes (uncomment the commands for the ones you want) Español: Descargar algunos modelos/puntos de control/vae o nodos personalizados de comfyui (descomentar los comandos para los que desee) Puedes ver que diferentes partes tienen modelos correspondientes anotados, como los modelos de Puntos de Control en la sección a continuación.
# Puntos de Control
### SDXL
### Recomiendo estos ejemplos de flujo de trabajo: https://comfyanonymous.github.io/ComfyUI_examples/sdxl/
#!wget -c https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensors -P ./models/checkpoints/
#!wget -c https://huggingface.co/stabilityai/stable-diffusion-xl-refiner-1.0/resolve/main/sd_xl_refiner_1.0.safetensors -P ./models/checkpoints/
# SDXL ReVision
#!wget -c https://huggingface.co/comfyanonymous/clip_vision_g/resolve/main/clip_vision_g.safetensors -P ./models/clip_vision/
# SD1.5
!wget -c https://huggingface.co/Comfy-Org/stable-diffusion-v1-5-archive/resolve/main/v1-5-pruned-emaonly-fp16.safetensors -P ./models/checkpoints/
# SD2
#!wget -c https://huggingface.co/stabilityai/stable-diffusion-2-1-base/resolve/main/v2-1_512-ema-pruned.safetensors -P ./models/checkpoints/
#!wget -c https://huggingface.co/stabilityai/stable-diffusion-2-1/resolve/main/v2-1_768-ema-pruned.safetensors -P ./models/checkpoints/
Si deseas descargar modelos adicionales, simplemente elimina el #
antes del correspondiente #!wget
para descomentarlo. Esto descargará el modelo correspondiente en la ruta especificada durante la ejecución real. Por ejemplo, si queremos descargar el modelo SDXL, descomentaríamos las líneas correspondientes así:
# SD1.5
!wget -c https://huggingface.co/Comfy-Org/stable-diffusion-v1-5-archive/resolve/main/v1-5-pruned-emaonly-fp16.safetensors -P ./models/checkpoints/
Si deseas descargar modelos adicionales, simplemente elimina el #
antes del correspondiente #!wget
para descomentarlo. Esto descargará el modelo correspondiente en la ruta especificada durante la ejecución real. Por ejemplo, si queremos descargar el modelo SDXL, descomentaríamos las líneas correspondientes así:
!wget -c https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensors -P ./models/checkpoints/
!wget -c https://huggingface.co/stabilityai/stable-diffusion-xl-refiner-1.0/resolve/main/sd_xl_refiner_1.0.safetensors -P ./models/checkpoints/
Si deseas agregar modelos personalizados, puedes agregar el código correspondiente en la sección source
.
!wget -c file_address -P .model_path
Así como descargar sd_xl_refiner_1.0.safetensors en la carpeta ./models/checkpoints/ como se muestra a continuación.
"!wget -c https://huggingface.co/stabilityai/stable-diffusion-xl-refiner-1.0/resolve/main/sd_xl_refiner_1.0.safetensors -P ./models/checkpoints/\n",
Si no estás familiarizado con qué carpeta ponerlo específicamente, consulta la sección Estructura de Archivos de ComfyUI para obtener instrucciones.
Agregando Scripts para Descargar Complementos Personalizados según sea Necesario
El ejemplo oficial proporciona el siguiente ejemplo de código para instalar complementos personalizados.
#!cd custom_nodes && git clone https://github.com/Fannovel16/comfy_controlnet_preprocessors; cd comfy_controlnet_preprocessors && python install.py
Este código se divide en varios pasos.
-
!cd custom_nodes
Entra en la carpeta custom_nodes, que es la carpeta de instalación para los complementos de ComfyUI. -
git clone https://github.com/Fannovel16/comfy_controlnet_preprocessors;
Usa git para clonar el código correspondiente en esta carpeta, creará una carpeta comfy_controlnet_preprocessors bajo custom_nodes para almacenar el código del complemento. -
cd comfy_controlnet_preprocessors
Entra en la nueva carpeta del complemento clonado. -
python install.py
Usa Python para ejecutar el script para instalar las dependencias del complemento. Necesitas verificar cómo el complemento correspondiente instala las dependencias. Algunos complementos pueden no proporcionar un archivo install.py, sino solo un archivo requirements.txt, en cuyo caso el último comando necesita ser modificado apip install -r requirements.txt
.
Por ejemplo, si necesitas instalar el complemento ComfyUI-Manager, necesitas construir un comando similar al siguiente.
!cd custom_nodes && git clone https://github.com/ltdrdata/ComfyUI-Manager; cd pip install -r requirements.txt
Esto puede lograr el propósito de instalar el complemento ComfyUI-Manager individualmente e instalar las dependencias relacionadas.
Después de editar, guarda el archivo .ipynb correspondiente para los procesos posteriores.
Aquí están los pasos para usar la versión oficial de la configuración .ipynb:
1. Preparación
-
Primero, necesitas una cuenta de Google. Si aún no tienes una, por favor ve al sitio web oficial de Google para registrarte.
-
Después de iniciar sesión en tu cuenta de Google, visita Google Colab.
-
Prepara (opcional) tu archivo .ipynb modificado.
2. Abre el Cuaderno de Colab de ComfyUI
Colab puede cambiar la opción de idioma en el menú de Ayuda.
- En la página de Colab, haz clic en “Archivo” > “Abrir cuaderno” en la barra de menú superior.
-
En la ventana emergente, selecciona la pestaña “GitHub”, o si es un archivo que has editado, selecciona “Subir”.
-
Ingresa la siguiente URL en el cuadro de búsqueda:
https://github.com/comfyanonymous/ComfyUI/blob/master/notebooks/comfyui_colab.ipynb
- Haz clic en el archivo
comfyui_colab.ipynb
en los resultados de búsqueda.
3. Ejecuta el Cuaderno para Completar la Instalación del Entorno de Ejecución y del Archivo de Complemento de Modelo
-
Después de que se abra el cuaderno, verás una serie de celdas de código.
-
Comenzando desde la parte superior, haz clic en el botón de reproducción a la izquierda de cada celda de código, o usa el atajo Shift+Enter para ejecutar el código.
Necesitas esperar a que el código correspondiente termine de ejecutarse y muestre “done” antes de ejecutar la siguiente celda de código. Primero ejecuta las dos primeras celdas de código para instalar el entorno y las dependencias correspondientes, las celdas de código posteriores son para seleccionar el método de ejecución.
4. Elige Cómo Ejecutar ComfyUI
En el archivo de configuración proporcionado, se ofrecen tres métodos de ejecución. Solo necesitas elegir uno de ellos para ejecutar.
- Ejecutar ComfyUI con cloudflared (recomendado).
- Ejecutar ComfyUI con localtunnel.
- Ejecutar ComfyUI con colab iframe (cuando el segundo método de ejecución no está disponible).
1. Ejecutar ComfyUI con cloudflared Después de ejecutar, verás
ComfyUI finished loading, trying to launch cloudflared (if it gets stuck here cloudflared is having issues)
This is the URL to access ComfyUI: https://xxxxxx.trycloudflare.com
Haz clic en la última URL para acceder a ComfyUI.
2. Ejecutar ComfyUI con localtunnel Después de ejecutar, verás algo como
ComfyUI finished loading, trying to launch localtunnel (if it gets stuck here localtunnel is having issues)
The password/enpoint ip for localtunnel is: 34.125.230.29
your url is: https://xxxx.loca.lt
Haz clic en la última URL, luego completa la Contraseña del Túnel en la página abierta con la contraseña anterior, por ejemplo, en mi caso es 34.125.230.29
, de esta manera puedes ejecutarlo.
3. Ejecutar ComfyUI con colab iframe
Este método de ejecución no requiere abrir una URL. Después de ejecutar, mostrará la interfaz de operación debajo del bloque de código.
Recuerda detener la instancia de ejecución correspondiente rápidamente después de usarla, de lo contrario, se deducirá el tiempo de ejecución.
¿Cómo Usar el Archivo de Cuaderno Creado Más Tarde?
El archivo de cuaderno que has utilizado se guardará automáticamente en tu Google Drive. Puedes abrir el archivo de cuaderno correspondiente en cualquier momento, luego haz clic en el botón “Ejecutar” en la esquina superior derecha para ejecutarlo nuevamente.
- Después de iniciar sesión en tu cuenta de Google https://drive.google.com/drive/my-drive
- Haz clic en la carpeta de Cuadernos de Colab
- Encuentra el archivo .ipynb que ejecutaste antes, y entrará en colab.
Notas
- La versión gratuita de Google Colab tiene un límite de tiempo de uso, generalmente unas pocas horas. Si necesitas usarlo durante mucho tiempo, considera actualizar a la versión de pago.
- Después de cada uso, recuerda guardar tu trabajo y cerrar el cuaderno de Colab para liberar recursos.
- Dado que se ejecuta en la nube, subir y descargar archivos puede ser un poco más lento que ejecutarlo localmente.
Ejecutando ComfyUI en Otras Plataformas en Línea
Además de Google Colab, hay algunas otras plataformas en línea que proporcionan un entorno de ejecución para ComfyUI:
- ComfyUI Web | Sitio en inglés: https://huggingface.co/spaces/kadirnar/ComfyUI-Demo