Ir al contenido
learn

ComfyUI, de principiante a experto — Misión

Los demás cursos de aprendizaje automático del sitio cargan modelos desde el código: Candle en Rust, y ONNX Runtime en el curso de IA de GA. ComfyUI va al revés. Es una aplicación en la que conectas modelos en un grafo, en un navegador, y su biblioteca de plantillas abarca imágenes, vídeo, audio y modelos 3D.

Quiero saber cómo funciona bajo el grafo, qué hace reproducible una imagen y cómo un servicio en C# o Java puede usarlo como motor de render: por ejemplo, para generar texturas para este sitio y para GuitarAlchemist, que es el proyecto de la última lección.

Escribes C# o Java. Conoces HTTP, JSON y el código asíncrono. No necesitas saber Python ni PyTorch, ni cómo funcionan los modelos de difusión: la lección 2 explica lo que hace falta y enlaza a los artículos. Las imágenes de las lecciones se renderizaron en una GPU NVIDIA de 16 GB, y SDXL usó unos 7 GB; cómo caben los modelos posteriores en tarjetas más pequeñas es el tema de la lección 8. Sin GPU, puedes seguir igualmente las lecciones de JSON y de la API con el workflow para CPU que usa la CI.

  • instalar ComfyUI en Windows, Linux o macOS, y ejecutar un grafo de texto a imagen;
  • explicar qué hacen las redes del checkpoint, la semilla, los pasos, el CFG, el sampler y el scheduler, y qué hace reproducible un render;
  • leer, convertir, validar y comparar workflows en los dos formatos JSON;
  • encolar workflows y seguirlos desde C# y Java con la API HTTP y WebSocket;
  • editar imágenes con img2img, inpainting y outpainting, y controlarlas con ControlNet y LoRA;
  • elegir un modelo reciente para una máquina y un uso, leer su licencia y hacerlo caber en la VRAM con pesos cuantizados;
  • escalar imágenes, crear texturas sin costuras y generar vídeos cortos;
  • juzgar el código de un nodo personalizado antes de instalarlo;
  • ejecutar ComfyUI como servicio detrás de una API propia.
# Lección En términos de C# o Java
1 El grafo de nodos, la instalación y una primera imagen un grafo de flujo de datos, como los bloques de TPL Dataflow
2 La difusión, y qué hace reproducible una imagen new Random(seed), y el determinismo en coma flotante
3 Los workflows en JSON: el formato de la interfaz, el formato de la API y los diffs System.Text.Json, Jackson, un esquema
4 La API HTTP y WebSocket desde C# y Java HttpClient, ClientWebSocket, java.net.http
5 Img2img, inpainting y outpainting —
6 ControlNet: bordes y profundidad —
7 LoRA: cargarlos, apilarlos y qué implica entrenar uno un plugin que modifica los pesos
8 Modelos recientes y sus licencias, cuantización y VRAM elegir una dependencia y su licencia
9 Escalado, texturas sin costuras y HDR —
10 Vídeo —
11 Los nodos personalizados y su seguridad paquetes NuGet o Maven que ejecutan código al instalarse
12 ComfyUI en producción: un servicio, una cola, varias GPU un worker detrás de una cola de trabajos
13 Proyecto: texturas para este sitio y para GuitarAlchemist —
14 Laboratorio Guitar Alchemist: experimentos medidos una batería de mediciones con sus resultados registrados
15 Audio: música, efectos de sonido y voz un búfer de muestras y una frecuencia de muestreo, como en NAudio o javax.sound
— Galería todas las imágenes, con el flujo que las hizo
— Diario

Las lecciones 5 a 13 son el plan; cambiarán a medida que las primeras me enseñen lo que importa.

El curso empieza con Stable Diffusion XL base 1.0, bajo la licencia CreativeML Open RAIL++-M, y añade modelos lección a lección. Cada lección indica la licencia y el tamaño de descarga de cada modelo. No hay ningún archivo de modelo en el repositorio. Cada imagen del curso lleva un pie con su modelo, su semilla y su workflow, y ninguna imagen muestra a una persona real ni una marca.