Ejecute los flujos de trabajo Comfyui en replicidad:
Recomendamos:
Hemos tratado de incluir muchos de los pesos de modelos más populares y nodos personalizados:
Plantee un problema para solicitar más nodos o modelos personalizados, o use la pestaña train en replicar para usar sus propios pesos (ver más abajo).
Necesitará la versión API de su flujo de trabajo Comfyui. Esto es diferente a la versión JSON comúnmente compartida, no incluye información visual sobre nodos, etc.
Para obtener tu API JSON:
Si su modelo toma entradas, como imágenes para IMG2Img o Controlnet, tiene 3 opciones:
Modifique su archivo API JSON para apuntar a una URL:
- "image": "/your-path-to/image.jpg",
+ "image": "https://example.com/image.jpg", También puede cargar un solo archivo de entrada al ejecutar el modelo.
Este archivo se guardará como input.[extension] , por ejemplo, input.jpg . Se colocará en el directorio input Comfyui, para que pueda hacer referencia a su flujo de trabajo con:
- "image": "/your-path-to/image.jpg",
+ "image": "image.jpg", Estos se descargarán y extraerán al directorio input . Luego puede hacer referencia a ellos en su flujo de trabajo en función de sus rutas relativas.
Entonces, un archivo zip que contiene:
- my_img.png
- references/my_reference_01.jpg
- references/my_reference_02.jpg
Podría usarse en el flujo de trabajo como:
"image": "my_img.png",
...
"directory": "references",
Con todas sus entradas actualizadas, ahora puede ejecutar su flujo de trabajo.
Algunos flujos de trabajo guardan archivos temporales, por ejemplo, las imágenes de control de control preprocesadas. También puede devolverlos habilitando la opción return_temp_files .
El modelo any-comfyui-workflow en replicidad es un modelo público compartido. Esto significa que muchos usuarios le enviarán flujos de trabajo que podrían ser bastante diferentes a los suyos. El efecto de esto será que el servidor Comfyui interno puede necesitar intercambiar modelos dentro y fuera de la memoria, esto puede ralentizar su tiempo de predicción.
Comfyui y sus nodos personalizados también se están actualizando continuamente. Si bien esto significa que las versiones más recientes generalmente se están ejecutando, si hay cambios en los nodos personalizados, su flujo de trabajo puede dejar de funcionar.
Si tiene su propia instancia dedicada, lo hará:
Para obtener el mejor rendimiento del modelo, debe ejecutar una instancia dedicada. Tienes 3 opciones:
Ir a:
https://replicate.com/deployments/create
Seleccione fofr/any-comfyui-workflow como el modelo que desea implementar. Elija su hardware y las instancias min y máximas, y estará listo para comenzar. Estarás fijado a la versión de la que implementa. Cuando se actualiza any-comfyui-workflow , puede probar su flujo de trabajo con él y luego implementar nuevamente utilizando la nueva versión.
Puede leer más sobre implementaciones en los documentos replicados:
https://replicate.com/docs/deployments
Puede usar este repositorio como plantilla para crear su propio modelo. Esto le brinda un control completo sobre la versión Comfyui, los nodos personalizados y la API que usará para ejecutar el modelo.
Deberá estar familiarizado con Python, y también necesitará una GPU para impulsar su modelo con COG. Replicate tiene una buena guía de inicio: https://replicate.com/docs/guides/push-a-model
El modelo kolors en replicada es un buen ejemplo a seguir:
Fue creado a partir de este repositorio y luego se implementó usando COG. Puede atravesar las confirmaciones de ese repositorio para ver qué se cambió y cómo, pero en general:
scripts/prepare_template.py se ejecuta primero, para eliminar ejemplos e innecesarios de la caldereracustom_nodes.json se modifica para agregar o eliminar nodos personalizados que necesita, asegurándose de agregar o eliminar sus dependencias de cog.yaml./scripts/install_custom_nodes.py para instalar los nodos personalizados (o ./scripts/reset.py para reinstalar Comfyui y todos los nodos personalizados)workflow_api.jsonpredict.py se actualiza con una nueva API y el método update_workflow se cambia para que modifique las partes correctas del JSONcog predict -i option_name=option_value -i another_option_name=another_option_value en una GPUcog push r8.im/your-username/your-model-nameVisite la pestaña del tren en replicar:
https://replicate.com/fofr/any-comfyui-workflow/train
Aquí puede dar URL públicas o privadas a pesas en Huggingface y Civitai. Si las URL son privadas o necesitan autenticación, asegúrese de incluir una clave API o un token de acceso.
Consulte los registros de capacitación para ver qué nombres de archivo usar en su flujo de trabajo JSON. Por ejemplo:
Downloading from HuggingFace:
...
Size of the tar file: 217.88 MB
====================================
When using your new model, use these filenames in your JSON workflow:
araminta_k_midsommar_cartoon.safetensors
Después de ejecutar la capacitación, tendrá su propio modelo Comfyui con sus pesos personalizados cargados durante la configuración del modelo. Para evitar que otros lo usen, puede hacerlo privado. Los modelos privados se facturan de manera diferente a los modelos públicos en replicidad.
Clon este repositorio:
git clone --recurse-submodules https://github.com/fofr/cog-comfyui.gitEjecute el siguiente script para instalar todos los nodos personalizados:
./scripts/install_custom_nodes.pyPuede ver la lista de nodos en custom_nodes.json
sudo cog run -p 8188 bashEjecutar este comando inicia el contenedor de cog y le permite acceder a él
cd ComfyUI/
python main.py --listen 0.0.0.0http://<gpu-machines-ip>:8188 Cuando gotas http://<gpu-machines-ip>:8188 ¡Verás el clásico formulario web Comfyui!