FLUX LoRA har fått enorm popularitet i AI-gemenskapen, särskilt bland dem som vill finjustera AI-modeller med sina egna dataset. Denna metod gör det möjligt för dig att enkelt anpassa befintliga FLUX-modeller till dina unika dataset, vilket gör det mycket anpassningsbart och effektivt för en mängd olika kreativa projekt. Om du redan är bekant med ComfyUI, kommer det att vara en enkel process att använda ComfyUI FLUX LoRA Träningsarbetsflöde för att träna din FLUX LoRA-modell. Arbetsflödet och relaterade noder skapades av Kijai, så stort tack till honom för hans bidrag! Kolla in för mer information.
ComfyUI FLUX LoRA Träningsarbetsflöde är en kraftfull process designad för att träna FLUX LoRA-modeller. Träning med ComfyUI erbjuder flera fördelar, särskilt för användare som redan är bekanta med dess gränssnitt. Med FLUX LoRA Träning kan du använda samma modeller som används för inferens, vilket säkerställer att det inte finns några kompatibilitetsproblem när du arbetar i samma Python-miljö. Dessutom kan du bygga arbetsflöden för att jämföra olika inställningar, vilket förbättrar din träningsprocess. Denna handledning kommer att guida dig genom stegen för att ställa in och använda FLUX LoRA Träning i ComfyUI.
Vi kommer att täcka:
När du förbereder dina träningsdata för FLUX LoRA Träning är det viktigt att ha högkvalitativa bilder för ditt målspecifika ämne.
I detta exempel tränar vi en FLUX LoRA-modell för att generera bilder av en specifik influencer. För detta behöver du en uppsättning högkvalitativa bilder av influencern i olika poser och miljöer. Ett bekvämt sätt att samla dessa bilder är att använda , vilket gör det enkelt att skapa en samling bilder som visar samma karaktär i olika poser samtidigt som deras utseende hålls konsekvent. För vårt träningsdataset har vi valt fem högkvalitativa bilder av influencern i olika poser och miljöer, vilket säkerställer att datasetet är tillräckligt robust för FLUX LoRA Träning för att lära sig de intrikata detaljer som behövs för att producera konsekventa och exakta resultat.
Du kan också samla ditt eget dataset baserat på dina specifika behov——FLUX LoRA Träning är flexibel och fungerar med olika typer av data.
FLUX LoRA Träningsarbetsflödet består av flera viktiga noder som arbetar tillsammans för att träna och validera din modell. Här är en detaljerad översikt över de viktigaste noderna, uppdelade i tre delar: Dataset, Inställningar och Init, samt Träning.
Dataset-sektionen består av två viktiga noder som hjälper dig att konfigurera och anpassa dina träningsdata: TrainDatasetGeneralConfig och TrainDatasetAdd.
TrainDatasetGeneralConfig-noden är där du definierar de övergripande inställningarna för ditt träningsdataset i FLUX LoRA Träning. Denna nod ger dig kontroll över olika aspekter av dataaugmentation och förbehandling. Till exempel kan du välja att aktivera eller inaktivera färgaugmentation, vilket kan hjälpa till att förbättra modellens förmåga att generalisera över olika färgvariationer. På samma sätt kan du slå på flip-augmentation för att slumpmässigt vända bilder horisontellt, vilket ger mer varierade träningsprover. Dessutom har du möjligheten att blanda bildtexterna som är associerade med varje bild, vilket introducerar slumpmässighet och minskar överanpassning. Bildtextens bortfallsfrekvens tillåter dig att slumpmässigt ta bort bildtexter under träningen, vilket kan hjälpa modellen att bli mer robust mot saknade eller ofullständiga bildtexter.
TrainDatasetAdd-noden är där du specificerar detaljerna för varje enskilt dataset som ska inkluderas i din FLUX LoRA Träning.
För att dra full nytta av denna nod är det viktigt att organisera dina träningsdata på rätt sätt. När du använder RunComfy's filbläddrare, placera träningsdata i katalogen /home/user/ComfyUI/input/{file-name}
, där {file-name}
är ett meningsfullt namn som du tilldelar ditt dataset.
När du har placerat dina träningsdata i rätt katalog behöver du ange sökvägen till den katalogen i image_dir
-parametern i TrainDatasetAdd-noden. Detta talar om för noden var den ska hitta dina träningsbilder.
Om ditt dataset drar nytta av att använda specifika klass-token eller utlösarord kan du ange dem i class_tokens
-parametern. Klass-token är speciella ord eller fraser som läggs till varje bildtext och hjälper till att styra modellens genereringsprocess. Till exempel, om du tränar på ett dataset med olika djurarter, kan du använda klass-token som "dog", "cat" eller "bird" för att indikera det önskade djuret i de genererade bilderna. När du senare använder dessa klass-token i dina promptar kan du kontrollera vilka specifika aspekter du vill att modellen ska generera.
Förutom image_dir
och class_tokens
-parametrarna, ger TrainDatasetAdd-noden flera andra alternativ för att finjustera ditt dataset. Du kan ställa in upplösningen (bredd och höjd) på bilderna, specificera batchstorleken för träning och bestämma hur många gånger datasetet ska upprepas per epok.
En av de kraftfulla funktionerna i FLUX LoRA Träning är förmågan att sömlöst kombinera flera dataset. I FLUX LoRA Träningsarbetsflödet finns det tre TrainDatasetAdd-noder som är kopplade i sekvens. Varje nod representerar ett distinkt dataset med sina egna unika inställningar. Genom att länka dessa noder tillsammans kan du skapa ett rikt och varierat träningsset som innehåller bilder och bildtexter från olika källor.
För att illustrera detta, låt oss överväga ett scenario där du har tre separata dataset: ett för katter, ett för hundar och ett annat för björnar. Du kan ställa in tre TrainDatasetAdd-noder, var och en dedikerad till ett av dessa dataset. I den första noden skulle du specificera sökvägen till "cats"-datasetet i image_dir
-parametern, ställa in class token
till "cat," och justera andra parametrar som upplösning och batchstorlek för att passa dina behov. På samma sätt skulle du konfigurera den andra och tredje noden för "dogs" och "bears" dataset, respektive.
Denna metod gör det möjligt för FLUX LoRA Träningsprocessen att utnyttja en mångsidig uppsättning bilder, vilket förbättrar modellens förmåga att generalisera över olika kategorier.
I vårt exempel använder vi bara ett dataset för att träna modellen, så vi aktiverar en TrainDatasetAdd-nod och förbi de andra två. Så här kan du ställa in det:
Inställnings- och initieringssektionen är där du konfigurerar de viktigaste komponenterna och parametrarna för FLUX LoRA Träning. Denna sektion inkluderar flera viktiga noder som samverkar för att ställa in din träningsmiljö.
Först har du FluxTrainModelSelect-noden, som ansvarar för att välja de FLUX-modeller som kommer att användas under FLUX LoRA Träning. Denna nod låter dig specificera sökvägarna till fyra kritiska modeller: transformatorn, VAE (Variational Autoencoder), CLIP_L (Contrastive Language-Image Pre-training) och T5 (Text-to-Text Transfer Transformer). Dessa modeller utgör ryggraden i FLUX-träningsprocessen och alla har ställts in på RunComfy-plattformen.
OptimizerConfig-noden är avgörande för att ställa in optimeraren inom FLUX LoRA Träning, vilket bestämmer hur modellens parametrar uppdateras under träningen. Du kan välja optimerartyp (t.ex. AdamW, CAME), ställa in den maximala gradientnormen för att förhindra exploderande gradienter och välja lärhastighetsschemat (t.ex. konstant, kosinavkylning). Dessutom kan du finjustera optimerarspecifika parametrar som uppvärmningssteg och schemakraft, samt ange extra argument för ytterligare anpassning.
Om du föredrar Adafactor-optimizer, känd för sin minneseffektivitet och förmåga att hantera stora modeller, kan du använda OptimizerConfigAdafactor-noden istället.
InitFluxLoRATraining-noden är den centrala hubben där alla viktiga komponenter möts för att starta FLUX LoRA Träningsprocessen.
En av de viktigaste sakerna du behöver specificera i InitFluxLoRATraining-noden är utgångskatalogen, där din tränade modell kommer att sparas. På RunComfy-plattformen kan du välja /home/user/ComfyUI/output/{file_name}
som plats för din utgång. När träningen är klar kommer du att kunna se den i filbläddraren.
Nästa sak du vill ställa in är nätverksdimensionerna och lärhastigheterna. Nätverksdimensionerna bestämmer storleken och komplexiteten hos ditt LoRA-nätverk, medan lärhastigheterna kontrollerar hur snabbt din modell lär sig och anpassar sig.
En annan viktig parameter att överväga är max_train_steps
. Det bestämmer hur länge du vill att träningsprocessen ska pågå, eller med andra ord, hur många steg du vill att din modell ska ta innan den är helt färdig. Du kan justera detta värde baserat på dina specifika behov och storleken på ditt dataset. Det handlar om att hitta den perfekta balansen där din modell har lärt sig tillräckligt för att producera fantastiska resultat!
Slutligen låter FluxTrainValidationSettings-noden dig konfigurera valideringsinställningarna för att utvärdera modellens prestanda under FLUX LoRA Träningsprocessen. Du kan ställa in antalet valideringssteg, bildstorlek, guidningsskala och frö för reproducerbarhet. Dessutom kan du välja tidsstegeteknik och justera sigmoid-skala och skiftparametrar för att kontrollera tidsstegsscheman och förbättra kvaliteten på de genererade bilderna.
Träningssektionen av FLUX LoRA Träning är där magin händer. Den är uppdelad i fyra delar: Train_01, Train_02, Train_03 och Train_04. Var och en av dessa delar representerar ett annat steg i FLUX LoRA Träningsprocessen, vilket gör att du gradvis kan finjustera och förbättra din modell.
Låt oss börja med Train_01. Det är här den initiala träningsloopen äger rum. Stjärnan i denna sektion är FluxTrainLoop-noden, som ansvarar för att genomföra träningsloopen för ett specificerat antal steg. I detta exempel har vi satt det till 250 steg, men du kan justera detta baserat på dina behov. När träningsloopen är klar, överförs den tränade modellen till FluxTrainSave-noden, som sparar modellen med jämna mellanrum. Detta säkerställer att du har kontrollpunkter för din modell vid olikajson steg i träningen, vilket kan vara användbart för att spåra framsteg och återhämta sig från eventuella oväntade avbrott.
Men träning handlar inte bara om att spara modellen. Vi måste också validera dess prestanda för att se hur bra den fungerar. Det är där FluxTrainValidate-noden kommer in. Den tar den tränade modellen och testar den med hjälp av ett valideringsdataset. Detta dataset är separat från träningsdata och hjälper till att bedöma hur väl modellen generaliserar till osedda exempel. FluxTrainValidate-noden genererar exempelbilder baserat på valideringsdata, vilket ger dig en visuell representation av modellens utdata i detta skede.
För att hålla koll på träningsframstegen har vi VisualizeLoss-noden. Denna praktiska nod visualiserar träningsförlusten över tid, vilket gör att du kan se hur bra modellen lär sig och om den konvergerar mot en bra lösning. Det är som att ha en personlig tränare som håller koll på dina framsteg och hjälper dig att hålla dig på rätt spår.
I Train_02, fortsätter från Train_01 i FLUX LoRA Träning, tränas utgången vidare för ett ytterligare specificerat antal steg (t.ex. 250 steg). Train_03 och Train_04 följer ett liknande mönster och förlänger träningen med uppdaterade anslutningar för en smidig progression. Varje steg producerar en FLUX LoRA-modell, vilket gör att du kan testa och jämföra prestanda.
I vårt exempel har vi valt att använda endast Train_01 och Train_02, var och en körs i 250 steg. Vi har förbigått Train_03 och Train_04 för tillfället. Men känn dig fri att experimentera och justera antalet träningssektioner och steg baserat på dina specifika behov och resurser.
När du har FLUX LoRA-modellen kan du integrera den i . Byt ut den befintliga LoRA-modellen mot din tränade modell och testa sedan resultaten för att utvärdera dess prestanda.
I vårt exempel använder vi FLUX LoRA-arbetsflödet för att generera fler bilder av influencern genom att applicera FLUX LoRA-modellen och observera dess prestanda.
Visa licensfiler:
FLUX.1 [dev] Modellen är licensierad av Black Forest Labs. Inc. under FLUX.1 [dev] Non-Commercial License. Copyright Black Forest Labs. Inc.
UNDER INGA OMSTÄNDIGHETER SKA BLACK FOREST LABS, INC. VARA ANSVARIGA FÖR NÅGON ANSPRÅK, SKADOR ELLER ANNAN ANSVARIGHET, VARE SIG I KONTRAKT, TORT ELLER ANNARS, SOM UPPSTÅR FRÅN, UTAV ELLER I SAMBAND MED ANVÄNDNINGEN AV DENNA MODELL.
© Copyright 2024 RunComfy. Alla Rättigheter Förbehållna.