ComfyUI, de débutant à expert — Mission
Sections
Réglages de lecture
Aucune voix pour cette langue dans ce navigateur.
Plus de voix
Code et termes techniques en anglais
Désactivé : la voix de la page lit tout, sans pause entre deux voix.
Aucune voix pour cette langue dans ce navigateur.
Plus de voix
D’autres voix : Microsoft Edge propose des voix naturelles en ligne, et Windows (Paramètres › Heure et langue › Voix), macOS et Android en installent d’autres.
Pourquoi j’apprends ça
Section intitulée « Pourquoi j’apprends ça »Les autres cours d’apprentissage automatique du site chargent des modèles depuis du code : Candle en Rust, et ONNX Runtime dans le cours sur l’IA de GA. ComfyUI fait l’inverse. C’est une application où tu relies des modèles entre eux dans un graphe, dans un navigateur, et sa bibliothèque de modèles de workflows couvre les images, la vidéo, l’audio et les modèles 3D.
Je veux savoir comment il fonctionne sous le graphe, ce qui rend une image reproductible, et comment un service C# ou Java peut s’en servir comme moteur de rendu : par exemple pour générer des textures pour ce site et pour GuitarAlchemist, ce qui est le projet de la dernière leçon.
À qui s’adresse ce cours
Section intitulée « À qui s’adresse ce cours »Tu écris du C# ou du Java. Tu connais HTTP, JSON et le code asynchrone. Tu n’as pas besoin de connaître Python, PyTorch, ni le fonctionnement des modèles de diffusion : la leçon 2 explique ce qu’il te faut, et renvoie vers les articles. Les images des leçons ont été rendues sur un GPU NVIDIA de 16 Go, dont SDXL a utilisé environ 7 Go ; la façon dont les modèles plus récents tiennent sur des cartes plus petites est le sujet de la leçon 8. Sans GPU, tu peux quand même suivre les leçons sur le JSON et l’API avec le workflow CPU qu’utilise la CI.
À la fin de ce cours, je saurai
Section intitulée « À la fin de ce cours, je saurai »- installer ComfyUI sous Windows, Linux ou macOS, et exécuter un graphe texte-vers-image ;
- expliquer ce que font les réseaux du checkpoint, la graine, les étapes, le CFG, le sampler et le scheduler, et ce qui rend un rendu reproductible ;
- lire, convertir, valider et comparer des workflows dans les deux formats JSON ;
- mettre des workflows en file d’attente et les suivre depuis C# et Java par l’API HTTP et WebSocket ;
- retoucher des images avec l’img2img, l’inpainting et l’outpainting, et les contrôler avec ControlNet et LoRA ;
- choisir un modèle récent pour une machine et un usage, lire sa licence, et le faire tenir en VRAM avec des poids quantifiés ;
- agrandir des images, créer des textures raccordables, et générer de courtes vidéos ;
- juger le code d’un nœud personnalisé avant de l’installer ;
- exploiter ComfyUI comme service derrière une API à moi.
| # | Leçon | En termes de C# ou de Java |
|---|---|---|
| 1 | Le graphe de nœuds, l’installation et une première image | un graphe de flux de données, comme les blocs de TPL Dataflow |
| 2 | La diffusion, et ce qui rend une image reproductible | new Random(seed), et le déterminisme des calculs en virgule flottante |
| 3 | Les workflows en JSON : le format de l’interface, le format de l’API, et les différences | System.Text.Json, Jackson, un schéma |
| 4 | L’API HTTP et WebSocket depuis C# et Java | HttpClient, ClientWebSocket, java.net.http |
| 5 | Img2img, inpainting et outpainting | — |
| 6 | ControlNet : contours et profondeur | — |
| 7 | LoRA : chargement, empilement, et ce qu’implique d’en entraîner un | un plugin qui modifie des poids |
| 8 | Modèles récents et leurs licences, quantification et VRAM | choisir une dépendance et sa licence |
| 9 | Agrandissement, textures raccordables et HDR | — |
| 10 | Vidéo | — |
| 11 | Les nœuds personnalisés, et leur sécurité | des paquets NuGet ou Maven qui exécutent du code à l’installation |
| 12 | ComfyUI en production : un service, une file d’attente, plusieurs GPU | un worker derrière une file de tâches |
| 13 | Projet : des textures pour ce site et pour GuitarAlchemist | — |
| 14 | Laboratoire Guitar Alchemist : des expériences mesurées | une suite de mesures dont les résultats sont consignés |
| 15 | Audio : musique, effets sonores et parole | un tampon d’échantillons et une fréquence d’échantillonnage, comme dans NAudio ou javax.sound |
| — | Galerie | toutes les images, avec le workflow qui les a faites |
| — | Journal |
Les leçons 5 à 13 sont le plan ; elles changeront à mesure que les premières m’apprendront ce qui compte.
Modèles et images
Section intitulée « Modèles et images »Le cours commence avec Stable Diffusion XL base 1.0, sous la licence CreativeML Open RAIL++-M, et ajoute des modèles leçon après leçon. Chaque leçon donne la licence et la taille de téléchargement de chaque modèle. Aucun fichier de modèle n’est dans le dépôt. Chaque image du cours a une légende avec son modèle, sa graine et son workflow, et aucune image ne montre une personne réelle ou une marque.
Ressources
Section intitulée « Ressources »- La documentation de ComfyUI, et le code source à la v0.36.0.
- Les exemples ComfyUI, par l’auteur original de ComfyUI.
- Le hub de modèles de Hugging Face, où les modèles et leurs fiches sont publiés.
- R. Rombach et al., High-Resolution Image Synthesis with Latent Diffusion Models, 2021, l’article à l’origine de Stable Diffusion.