Mise à jour v0.2 : correction des mauvais nœuds se connectant au nœud Florence2
Mise à jour du 11/08/2024 : Après quelques bidouilles, j'ai trouvé un moyen de reproduire l'image de haute qualité avec controlnet comme ils le démontrent sur leur page Github/HF, j'ai également découvert que les 2 méthodes d'échantillonnage peuvent être combinées et réorganisées en une approche plus simple et plus efficace, je mettrai bientôt à jour la v0.3 pour inclure tous ces changements.
J'ai créé un flux de travail FluxDev tout-en-un dans ComfyUI qui combine diverses techniques de génération d'images avec le modèle FluxDev, notamment l'img vers l'img et le texte vers l'img. Ce flux de travail peut utiliser des LoRA, des ControlNets, permettant des invites négatives avec Ksampler, un seuillage dynamique, l'inpainting, etc. Veuillez noter qu'il ne s'agit pas de la manière « correcte » d'utiliser ces techniques, mais plutôt de mon interprétation personnelle basée sur les informations disponibles.
Utilisation intensive du nœud USE Everywhere
Ce flux de travail s'appuie fortement sur le nœud USE Everywhere pour le rendre aussi propre et efficace que possible pour mes besoins de génération quotidiens. Je partage ce flux de travail avec la communauté pour recueillir des informations et des suggestions d'amélioration. N'hésitez pas à expérimenter par vous-même.
ComfyUI/models/clip
) : flux_text_encodersae.sft
dans ComfyUI/models/vae
) : ae.safetensorsComfyUI/models/controlnet
, ouvrir le dossier si nécessaire)ComfyUI/models/loras
, ouvrir le dossier si nécessaire)Configuration de VRAM faible :
Lancez ComfyUI avec l'argument "--lowvram" (ajoutez-le à votre fichier .bat) pour décharger l'encodeur de texte sur le processeur
Au moment de la création de ce workflow, deux ControlNets et plusieurs LoRA sont disponibles, notamment :
J'ai uniquement testé les LoRA Canny et Realism de XLabs-AI, et voici quelques points clés à retenir :
git checkout xlabs_flux_controlnet
Le flux de travail Ksampler avec seuil dynamique est basé sur le billet de blog officiel ComfyUI. Et je cite :
Remarque pour les deux modèles, vous pouvez soit utiliser SamplerCustomAdvanced
avec BasicGuider
, soit si vous utilisez KSampler
, définir CFG
sur 1
. Vous pouvez utiliser le nouveau FluxGuidance
sur le modèle Dev pour contrôler la valeur distillée de type CFG. (Un réglage sur 2 est recommandé pour plus de réalisme ou un meilleur contrôle du style.) Ces modèles sont formés pour fonctionner sans véritable CFG. Cela ne veut pas dire que vous ne pourrez jamais utiliser CFG - en fait, la communauté a rapidement profité de ComfyUI comme plate-forme d'expérimentation pour tester une grande variété d'astuces afin de tirer le meilleur parti des nouveaux modèles. (Comme l'utilisation du nœud personnalisé Dynamic Thresholding ou l'utilisation du nouveau nœud intégré FluxGuidance
pour compenser et activer CFG et les invites négatives. Il existe également ModelSamplingFlux
intégré pour contrôler le changement sigma de Flux, bien que ses avantages soient plus limités.)
Gardez à l’esprit qu’il s’agit de ma propre interprétation et n’hésitez pas à apporter des modifications et à expérimenter.
Démo 0 shot sans sélection de cerises avec cette méthode d'échantillonnage :
Vous pouvez trouver le dépôt ici.
Le calculateur de résolution de pixels est un nœud personnalisé que j'ai développé hier avec l'aide de LLama3.1 (oui, je n'ai aucune compétence en programmation, je l'apprends en cours de route à partir de zéro). Il s'agit simplement d'un nœud très simple qui génère la résolution de pixels « latente » la plus proche à partir de vos mégapixels et du rapport hauteur/largeur de votre choix. Je me suis inspiré du nœud ImageScaleToTotalPixels du flux de travail de démonstration Flux original, car tout le monde semble parler de résolution en pixels au lieu du nombre de pixels en largeur et en hauteur comme dans SDXL. Il existe également un nœud pour convertir une entrée d'échantillon latente en nombre de pixels de largeur et de hauteur.
Un flux de travail de mise à l’échelle est également inclus. Il utilise le nœud Iterative Upscale (Image) du pack Impact et la diffusion en mosaïque pour créer un correctif haute résolution comme la mise à l'échelle et le groupe de nœuds détaillés avec le modèle haut de gamme de votre choix. Vous pouvez également effectuer du débruitage, du CFG et une planification d'étapes avec le crochet PK.
Image de démonstration à comparer ici.
Puisqu'il n'existe pas encore de modèle d'inpainting formé pour Flux, seule la forme d'inpainting la plus simple peut être réalisée ici. Vous pouvez également essayer d'incorporer des ControlNets, mais faites attention à la résolution basée sur le carré et à l'échelle de guidage (4) .
Juste quelques nœuds simples pour exécuter Ollama et Florence2 pour utiliser Vision LLm pour le sous-titrage détaillé et pour obtenir des informations rapides, j'utilise LLaVa 13B et Florence2 large dans la démo, vous aurez besoin des nœuds Ollama, Ollama ComfyUI et Florence2 ComfyUI, voir les liens pour un guide d’utilisation et d’installation détaillé.
Un guide plus détaillé sera ajouté si les gens ont du mal à l'utiliser....
Flux est un modèle tellement flexible, et étant donné qu'il s'agit d'une première version, il est très impressionnant. Deux semaines après sa sortie, des ControlNets et des LoRA sont déjà disponibles, ce qui montre à quel point la communauté aime ce modèle. J'attends maintenant avec impatience quelques modèles inpainting. Et plus important encore, Matteo, s'il vous plaît, publiez un adaptateur iP pour Flux... s'il vous plaît, le seul puzzle manquant et j'ai terminé....
Bonne génération !
PS J'inclus l'invite que j'utilise avec LLama3.1 pour m'aider à effectuer des vérifications orthographiques et grammaticales pour ce dépôt sans raison :
Agir en tant qu'écrivain professionnel doté de solides compétences en rédaction et d'une compréhension approfondie de l'écriture en général. Aider les utilisateurs à réécrire, reformater et effectuer des vérifications grammaticales et orthographiques sur demande. Vos tâches devraient inclure :
De plus, veuillez :
Comprenez-vous ces exigences?