FLUX LoRA si získal obrovskou popularitu v AI komunitě, zejména mezi těmi, kteří chtějí jemně ladit AI modely s vlastními datovými sadami. Tento přístup vám umožňuje snadno přizpůsobit předem existující modely FLUX vašim jedinečným datovým sadám, což je vysoce přizpůsobitelné a efektivní pro širokou škálu kreativních snah. Pokud jste již obeznámeni s ComfyUI, používání pracovního postupu školení ComfyUI FLUX LoRA pro trénink vašeho modelu FLUX LoRA bude hračkou. Pracovní postup a související uzly byly vytvořeny Kijaiem, takže mu patří velké díky za jeho příspěvek! Další informace najdete na .
Pracovní postup školení ComfyUI FLUX LoRA je mocný proces určený k tréninku modelů FLUX LoRA. Školení s ComfyUI nabízí několik výhod, zejména pro uživatele, kteří jsou již obeznámeni s jeho rozhraním. S FLUX LoRA Training můžete používat stejné modely, které jsou použity pro inferenci, čímž se zajistí, že při práci ve stejném prostředí Python nebudou žádné problémy s kompatibilitou. Navíc můžete vytvářet pracovní postupy k porovnání různých nastavení, což zlepší váš tréninkový proces. Tento návod vás provede kroky k nastavení a použití FLUX LoRA Training v ComfyUI.
Pokryjeme:
Při přípravě vašich tréninkových dat pro školení FLUX LoRA je nezbytné mít vysoce kvalitní obrázky pro váš cílový subjekt.
V tomto příkladu trénujeme model FLUX LoRA k vytváření obrázků konkrétního influencera. K tomu budete potřebovat sadu vysoce kvalitních obrázků influencera v různých pózách a nastaveních. Pohodlný způsob, jak tyto obrázky získat, je použití , který usnadňuje generování sbírky obrázků, které ukazují stejný charakter v různých pózách při zachování konzistentního vzhledu. Pro naši tréninkovou datovou sadu jsme vybrali pět vysoce kvalitních obrázků influencera v různých pózách a nastaveních, což zajišťuje, že datová sada je dostatečně robustní pro školení FLUX LoRA, aby se naučil jemné detaily potřebné k produkci konzistentních a přesných výstupů.
Můžete také sbírat svou vlastní datovou sadu podle vašich specifických potřeb——FLUX LoRA Training je flexibilní a funguje s různými typy dat.
Pracovní postup školení FLUX LoRA se skládá z několika klíčových uzlů, které spolupracují na tréninku a validaci vašeho modelu. Zde je podrobný přehled hlavních uzlů, rozdělených do tří částí: Dataset, Nastavení a Init a Školení.
Sekce Dataset se skládá ze dvou základních uzlů, které vám pomohou konfigurovat a přizpůsobit vaše tréninková data: TrainDatasetGeneralConfig a TrainDatasetAdd.
Uzel TrainDatasetGeneralConfig je místo, kde definujete celkové nastavení vaší tréninkové datové sady pro školení FLUX LoRA. Tento uzel vám dává kontrolu nad různými aspekty augmentace a předzpracování dat. Například můžete zvolit povolení nebo zakázání barevné augmentace, která může pomoci zlepšit schopnost modelu generalizovat napříč různými barevnými variacemi. Podobně můžete přepínat flip augmentaci pro náhodné horizontální překlopení obrázků, čímž poskytujete rozmanitější tréninkové vzorky. Dále máte možnost míchat popisky spojené s každým obrázkem, čímž se zavádí náhodnost a snižuje se přetrénování. Pomocí míry výpadku popisků můžete během tréninku náhodně vypouštět popisky, což může pomoci modelu stát se robustnějším vůči chybějícím nebo neúplným popiskům.
Uzel TrainDatasetAdd je místo, kde specifikujete detaily každé jednotlivé datové sady, kterou chcete zahrnout do školení FLUX LoRA.
Aby byl tento uzel co nejefektivnější, je důležité správně organizovat vaše tréninková data. Při používání prohlížeče souborů RunComfy umístěte tréninková data do adresáře /home/user/ComfyUI/input/{file-name}
, kde {file-name}
je smysluplný název, který přiřadíte své datové sadě.
Jakmile umístíte svá tréninková data do příslušného adresáře, musíte poskytnout cestu k tomuto adresáři v parametru image_dir
uzlu TrainDatasetAdd. Tento parametr říká uzlu, kde najít vaše tréninkové obrázky.
Pokud vaše datová sada těží z použití specifických třídních tokenů nebo spouštěcích slov, můžete je zadat do parametru class_tokens
. Třídní tokeny jsou speciální slova nebo fráze, které jsou připojeny k každému popisku a pomáhají řídit proces generování modelu. Například, pokud trénujete na datové sadě různých druhů zvířat, můžete použít třídní tokeny jako "dog", "cat" nebo "bird", abyste označili požadované zvíře na generovaných obrázcích. Když později použijete tyto třídní tokeny ve svých výzvách, můžete kontrolovat, které specifické aspekty chcete, aby model generoval.
Kromě parametrů image_dir
a class_tokens
poskytuje uzel TrainDatasetAdd několik dalších možností pro jemné doladění vaší datové sady. Můžete nastavit rozlišení (šířku a výšku) obrázků, specifikovat velikost dávky pro trénink a určit počet opakování datové sady na epochu.
Jednou z mocných funkcí školení FLUX LoRA je schopnost bezproblémově kombinovat více datových sad. V pracovním postupu školení FLUX LoRA jsou tři uzly TrainDatasetAdd propojené v sekvenci. Každý uzel představuje samostatnou datovou sadu s vlastními jedinečnými nastaveními. Propojením těchto uzlů dohromady můžete vytvořit bohatou a rozmanitou tréninkovou sadu, která zahrnuje obrázky a popisky z různých zdrojů.
Abychom to ilustrovali, představme si scénář, kdy máte tři samostatné datové sady: jednu pro kočky, jednu pro psy a další pro medvědy. Můžete nastavit tři uzly TrainDatasetAdd, každý věnovaný jedné z těchto datových sad. V prvním uzlu byste specifikovali cestu k datové sadě "cats" v parametru image_dir
, nastavili class token
na "cat" a upravili další parametry jako rozlišení a velikost dávky podle svých potřeb. Podobně byste nakonfigurovali druhý a třetí uzel pro datové sady "dogs" a "bears".
Tento přístup umožňuje procesu školení FLUX LoRA využívat rozmanitou škálu obrázků, čímž se zlepšuje schopnost modelu generalizovat napříč různými kategoriemi.
V našem příkladu používáme pouze jednu datovou sadu k tréninku modelu, takže povolujeme jeden uzel TrainDatasetAdd a obcházíme další dva. Zde je, jak to můžete nastavit:
Sekce Nastavení a inicializace je místo, kde konfigurujete klíčové komponenty a parametry pro školení FLUX LoRA. Tato sekce zahrnuje několik základních uzlů, které spolupracují na nastavení vašeho tréninkového prostředí.
Nejprve máte uzel FluxTrainModelSelect, který je zodpovědný za výběr modelů FLUX, které budou použity během školení FLUX LoRA. Tento uzel vám umožňuje specifikovat cesty ke čtyřem kritickým modelům: transformer, VAE (Variational Autoencoder), CLIP_L (Contrastive Language-Image Pre-training) a T5 (Text-to-Text Transfer Transformer). Tyto modely tvoří páteř procesu školení FLUX a všechny byly nastaveny na platformě RunComfy.
Uzel OptimizerConfig je zásadní pro nastavení optimalizátoru ve školení FLUX LoRA, který určuje, jak jsou během školení aktualizovány parametry modelu. Můžete vybrat typ optimalizátoru (např. AdamW, CAME), nastavit maximální normu gradientu pro ořezávání gradientů, aby se zabránilo explodujícím gradientům, a vybrat plánovač rychlosti učení (např. konstantní, kosinální). Dále můžete jemně doladit specifické parametry optimalizátoru, jako jsou kroky zahřívání a výkon plánovače, a poskytnout další argumenty pro další přizpůsobení.
Pokud dáváte přednost optimalizátoru Adafactor, známému pro svou paměťovou efektivitu a schopnost zvládnout velké modely, můžete použít uzel OptimizerConfigAdafactor místo něj.
Uzel InitFluxLoRATraining je centrálním uzlem, kde se všechny základní komponenty sbíhají, aby zahájily proces školení FLUX LoRA.
Jednou z klíčových věcí, které budete muset specifikovat v uzlu InitFluxLoRATraining, je výstupní adresář, kam bude uložen váš vyškolený model. Na platformě RunComfy můžete vybrat /home/user/ComfyUI/output/{file_name}
jako místo pro váš výstup. Jakmile je školení dokončeno, budete jej moci zobrazit v prohlížeči souborů.
Dále budete chtít nastavit rozměry sítě a rychlosti učení. Rozměry sítě určují velikost a složitost vaší sítě LoRA, zatímco rychlosti učení kontrolují, jak rychle se váš model učí a přizpůsobuje.
Dalším důležitým parametrem, který je třeba zvážit, je max_train_steps
. Určuje, jak dlouho chcete, aby proces školení běžel, nebo jinými slovy, kolik kroků chcete, aby váš model podnikl, než bude plně upečený. Můžete upravit tuto hodnotu podle vašich specifických potřeb a velikosti vaší datové sady. Jde o nalezení toho sladkého bodu, kde se váš model naučil dostatečně, aby produkoval chutné výstupy!
Nakonec uzel FluxTrainValidationSettings vám umožňuje konfigurovat nastavení validace pro hodnocení výkonu vašeho modelu během procesu školení FLUX LoRA. Můžete nastavit počet validačních kroků, velikost obrázku, měřítko vedení a semeno pro reprodukovatelnost. Dále můžete zvolit metodu vzorkování časových kroků a upravit parametryk časových kroků a zlepšit kvalitu generovaných obrázků.
Sekce Train školení FLUX LoRA je místo, kde se děje magie. Je rozdělena do čtyř částí: Train_01, Train_02, Train_03 a Train_04. Každá z těchto částí představuje jinou fázi procesu školení FLUX LoRA, což vám umožňuje postupně zdokonalovat a zlepšovat váš model.
Začněme s Train_01. Zde probíhá počáteční tréninková smyčka. Hvězdou této sekce je uzel FluxTrainLoop, který je zodpovědný za provádění tréninkové smyčky po stanovený počet kroků. V tomto příkladu jsme nastavili 250 kroků, ale můžete to upravit podle svých potřeb. Jakmile je tréninková smyčka dokončena, vyškolený model je předán uzlu FluxTrainSave, který model pravidelně ukládá. Tím se zajistí, že máte kontrolní body svého modelu v různých fázích školení, což může být užitečné pro sledování pokroku a obnovu z jakýchkoli neočekávaných přerušení.
Ale školení není jen o ukládání modelu. Musíme také ověřit jeho výkon, abychom viděli, jak dobře si vede. To je místo, kde přichází uzel FluxTrainValidate. Vezme vyškolený model a podrobí ho testu pomocí validační datové sady. Tato datová sada je oddělena od tréninkových dat a pomáhá posoudit, jak dobře model generalizuje na neviděné příklady. Uzel FluxTrainValidate generuje vzorové obrázky na základě validačních dat, což vám poskytuje vizuální reprezentaci výstupu modelu v této fázi.
Abychom měli přehled o pokroku školení, máme uzel VisualizeLoss. Tento šikovný uzel vizualizuje tréninkovou ztrátu v průběhu času, což vám umožňuje vidět, jak dobře se model učí a zda se blíží k dobrému řešení. Je to jako mít osobního trenéra, který sleduje váš pokrok a pomáhá vám zůstat na správné cestě.
V Train_02, pokračování z Train_01 ve školení FLUX LoRA, je výstup dále trénován po další stanovený počet kroků (např. 250 kroků). Train_03 a Train_04 následují podobný vzor, prodlužují školení s aktualizovanými propojeními pro plynulý postup. Každá fáze produkuje model FLUX LoRA, což vám umožňuje testovat a porovnávat výkon.
V našem příkladu jsme se rozhodli použít pouze Train_01 a Train_02, každý běžící po 250 krocích. Prozatím jsme obešli Train_03 a Train_04. Ale neváhejte experimentovat a upravit počet tréninkových sekcí a kroků podle vašich specifických potřeb a zdrojů.
Jakmile máte model FLUX LoRA, můžete jej začlenit do . Nahraďte existující model LoRA vaším vyškoleným modelem a poté otestujte výsledky, abyste vyhodnotili jeho výkon.
V našem příkladu používáme pracovní postup FLUX LoRA k vytváření dalších obrázků influencera použitím modelu FLUX LoRA a pozorováním jeho výkonu.
Zobrazit licenční soubory:
Model FLUX.1 [dev] je licencován společností Black Forest Labs. Inc. pod licencí FLUX.1 [dev] Non-Commercial License. Copyright Black Forest Labs. Inc.
V ŽÁDNÉM PŘÍPADĚ NENÍ BLACK FOREST LABS, INC. ODPOVĚDNÁ ZA JAKÝKOLI NÁROK, ŠKODY NEBO JINOU ODPOVĚDNOST, AŤ UŽ V RÁMCI SMLOUVY, DELIKTU NEBO JINAK, VYPLÝVAJÍCÍ Z NEBO V SOUVISLOSTI S POUŽÍVÁNÍM TOHOTO MODELU.
© Autorská práva 2024 RunComfy. Všechna práva vyhrazena.