Ako spustiť stabilnú difúziu lokálne s GUI v systéme Windows


Stable Diffusion môžete nainštalovať lokálne do svojho počítača, ale typický proces vyžaduje veľa práce s príkazovým riadkom pri inštalácii a používaní. Našťastie pre nás komunita Stable Diffusion tento problém vyriešila. Tu je návod, ako nainštalovať verziu Stable Diffusion, ktorá beží lokálne s grafickým používateľským rozhraním!

Čo je stabilná difúzia?

Stable Diffusion je model AI, ktorý dokáže generovať obrázky z textových výziev alebo upravovať existujúce obrázky pomocou textových výziev, podobne ako MidJourney alebo DALL-E 2. Prvýkrát bol vydaný v auguste 2022 spoločnosťou Stability.ai. Rozumie tisícom rôznych slov a dá sa použiť na vytvorenie takmer akéhokoľvek obrazu, ktorý vaša fantázia dokáže vykúzliť v takmer akomkoľvek štýle.

Existujú dva kritické rozdiely, ktoré odlišujú Stable Diffusion od väčšiny ostatných populárnych generátorov umenia AI:

  • Môže byť spustený lokálne na vašom PC
  • Je to projekt s otvoreným zdrojom

Posledný bod je tu skutočne dôležitý. Stable Diffusion sa tradične inštaluje a spúšťa cez rozhranie príkazového riadku. Funguje to, ale môže to byť neohrabané, neintuitívne a je to výrazná prekážka vstupu pre ľudí, ktorí by o to inak mali záujem. Keďže však ide o projekt s otvoreným zdrojovým kódom, komunita preň rýchlo vytvorila používateľské rozhranie a začala pridávať svoje vlastné vylepšenia vrátane optimalizácií na minimalizáciu používania video RAM (VRAM) a zabudovanie upscalingu a maskovania.

Čo potrebujete na spustenie tejto verzie stabilnej difúzie?

Táto verzia Stable Diffusion je rozvetvením – odnožou – hlavného úložiska (repo) vytvoreného a udržiavaného Stability.ai. Má grafické používateľské rozhranie (GUI) – čo uľahčuje používanie ako bežné Stable Diffusion, ktoré má iba rozhranie príkazového riadka – a inštalačný program, ktorý automaticky zvládne väčšinu nastavení.

Táto vidlica obsahuje aj rôzne optimalizácie, ktoré by jej mali umožniť bežať na počítačoch s menšou RAM, vstavaným upscalingom a funkciami tváre pomocou GFPGAN, ESRGAN, RealESRGAN a CodeFormer a maskovaním. Maskovanie je obrovský problém – umožňuje vám selektívne aplikovať generovanie obrázkov AI na určité časti obrázka bez skreslenia iných častí, čo je proces, ktorý sa zvyčajne nazýva inpainting.

  • Minimálne 10 gigabajtov voľného miesta na pevnom disku
  • GPU NVIDIA so 6 GB RAM (aj keď by ste mohli využiť 4 GB)
  • Počítač so systémom Windows 11, Windows 10, Windows 8.1 alebo Windows 8
  • WebUI GitHub Repo, od AUTOMATIC1111
  • Python 3.10.6 (novšie verzie a väčšina starších verzií by mala byť tiež v poriadku)
  • Oficiálne kontrolné body Stable Diffusion (Pozrite sa na kontrolné body verzie 1.5!)
  • Kontrolné body GFPGAN v1.4 
  • Akékoľvek ďalšie modely ESRGAN, ktoré by ste mohli chcieť. Môžete použiť toľko alebo menej, koľko chcete.

Ako nainštalovať stabilnú difúziu pomocou GUI

Inštalačný proces sa výrazne zjednodušil, ale pred použitím inštalátora musíte vykonať niekoľko krokov manuálne.

Najprv si nainštalujte Python

Prvá vec, ktorú by ste mali urobiť, je nainštalovať verziu Pythonu, 3.10.6, odporúčanú autorom repozitára. Prejdite na tento odkaz, prejdite smerom k spodnej časti stránky a kliknite na „Inštalátor systému Windows (64-bitový).

Kliknite na spustiteľný súbor, ktorý ste stiahli, a prejdite výzvami. Ak už máte nainštalovaný Python (a určite máte), stačí kliknúť na „Aktualizovať“. V opačnom prípade postupujte podľa odporúčaných pokynov.

Nainštalujte Git a stiahnite si GitHub Repo

Pred spustením inštalačného programu Stable Diffusion si musíte stiahnuť a nainštalovať Git v systéme Windows. Stačí si stiahnuť 64-bitový spustiteľný súbor Git, spustiť ho a použiť odporúčané nastavenia, pokiaľ nemáte na mysli niečo konkrétne.

Ďalej si musíte stiahnuť súbory z úložiska GitHub. Kliknite na zelené tlačidlo „Kód“ a potom kliknite na „Stiahnuť ZIP“ v spodnej časti ponuky.

Otvorte súbor ZIP v Prieskumníkovi súborov alebo vo vašom preferovanom programe na archiváciu súborov a potom rozbaľte obsah kdekoľvek chcete. Majte na pamäti, že priečinok je miesto, kam budete musieť prejsť, aby ste mohli spustiť Stable Diffusion. Tento príklad ich extrahoval do adresára C:\, ale to nie je podstatné.

Stiahnite si všetky kontrolné body

Aby to fungovalo, potrebujete niekoľko kontrolných bodov. Prvým a najdôležitejším sú kontrolné body stabilnej difúzie. Ak chcete stiahnuť kontrolné body, musíte si vytvoriť účet, ale pre účet toho nie je potrebné veľa – stačí im meno a e-mailová adresa a môžete ísť.

Skopírujte a prilepte „sd-v1-4.ckpt“ do priečinka „C:\stable-diffusion-webui-master\models\Stable-diffusion“, potom kliknite pravým tlačidlom myši na „sd-v1-4.ckpt“ a stlačte premenovať . Do textového poľa zadajte „model.ckpt“ a stlačte Enter. Uistite sa, že ide o „model.ckpt“ — inak to nebude fungovať.

Musíte si tiež stiahnuť kontrolné body GFPGAN. Autor repozitára, ktorý používame, požadoval kontrolné body GFPGAN v1.4. Posuňte stránku nadol a kliknite na „Model V1.4“.

Umiestnite tento súbor „GFPGANv1.4.pth“ do priečinka „stable-diffusion-webui-master“, ale nepremenujte ho. Priečinok „stable-diffusion-webui-master“ by teraz mal obsahovať tieto súbory:

Môžete si tiež stiahnuť toľko kontrolných bodov ESRGAN, koľko chcete. Zvyčajne sa dodávajú zabalené ako súbory ZIP. Po stiahnutí jedného otvorte súbor ZIP a potom rozbaľte súbor „.pth“ do priečinka „models/ESRGAN“. Tu je príklad:

Modely ESRGAN majú tendenciu poskytovať špecifickejšie funkcie, takže si vyberte pár, ktorý sa vám páči.

Teraz stačí dvakrát kliknúť na súbor „webui-user.bat“, ktorý sa nachádza v primárnom priečinku „stable-diffusion-webui-master“. Zobrazí sa okno konzoly a začne načítavať všetky ostatné dôležité súbory, vytvárať prostredie Pythonu a nastavovať webové používateľské rozhranie. Bude to vyzerať takto:

Po dokončení sa na konzole zobrazí:

Running on local URL: http://127.0.0.1:7860
To create a public link, set `share=True` in `launch()`

Ako generovať obrázky pomocou stabilnej difúzie s GUI

Dobre, nainštalovali ste si variant webového rozhrania Stable Diffusion a vaša konzola vám oznámi, že „beží na miestnej adrese URL: http://127.0.0.1:7860“.

Otvorte prehliadač, do panela s adresou zadajte „127.0.0.1:7860“ alebo „localhost:7860“ a stlačte Enter. Toto uvidíte na karte txt2img:

Ak ste už Stable Diffusion používali, tieto nastavenia vám budú známe, ale tu je stručný prehľad toho, čo znamenajú najdôležitejšie možnosti:

  • Výzva: Popis toho, čo by ste chceli vytvoriť.
  • Tlačidlo palety maliarov: Na výzvu použije náhodný umelecký štýl.
  • Kroky vzorkovania: Koľkokrát bude obrázok upravený, kým dostanete výstup. Viac je vo všeobecnosti lepšie, ale výnosy sa znižujú.
  • Metóda vzorkovania: Základná matematika, ktorá určuje spôsob spracovania vzorkovania. Môžete použiť ktorúkoľvek z týchto možností, ale euler_a a PLMS sa zdajú byť najobľúbenejšími možnosťami. Viac o PLMS si môžete prečítať v tomto dokumente.
  • Obnoviť tváre: Používa GFPGAN na opravu záhadných alebo zdeformovaných tvárí.
  • Počet dávok: Počet obrázkov, ktoré sa majú vygenerovať.
  • Veľkosť dávky: Počet „dávok“. Ponechajte hodnotu 1, pokiaľ nemáte enormné množstvo VRAM.
  • Škála CFG: Ako pozorne bude Stabilná difúzia nasledovať výzvu, ktorú jej zadáte. Väčšie čísla znamenajú, že ho dodržiava veľmi opatrne, zatiaľ čo nižšie čísla mu dávajú väčšiu tvorivú slobodu.
  • Šírka: Šírka obrázka, ktorý chcete vygenerovať.
  • Výška: Šírka obrázka, ktorý chcete vygenerovať.
  • Seed: Číslo, ktoré poskytuje počiatočný vstup pre generátor náhodných čísel. Ak chcete náhodne vygenerovať nový zdroj, nechajte ho na -1.

Vygenerujme päť obrázkov na základe výzvy: „horská krava v čarovnom lese, 35 mm filmová fotografia, ostrá“ a uvidíme, čo získame pomocou vzorkovača PLMS, 50 krokov vzorkovania a CFG stupnice 5.

Výstupné okno bude vyzerať takto:

Horný stredný obrázok je ten, ktorý použijeme na vyskúšanie maskovania o niečo neskôr. V skutočnosti neexistuje iný dôvod pre túto konkrétnu voľbu ako osobné preferencie. Uchopte akýkoľvek obrázok, ktorý sa vám páči.

Vyberte ho a potom kliknite na „Odoslať do Inpaintu“.

Ako maskovať obrázky, ktoré vytvoríte, aby ste ich mohli nakresliť

Maľba je fantastická vlastnosť. Za normálnych okolností sa stabilná difúzia používa na vytváranie celých obrázkov z výzvy, ale maľovanie vám umožňuje selektívne generovať (alebo regenerovať) časti obrázka. Tu sú dve kritické možnosti: inpaint masked, inpaint not masked.

Inpaint masked použije výzvu na vygenerovanie snímok v rámci oblasti, ktorú zvýrazníte, zatiaľ čo Inpaint maskovaný urobí presný opak – zachová sa iba oblasť, ktorú maskujete.

Najprv si povieme niečo o maske Inpaint. Potiahnite myšou po obrázku a podržte ľavé tlačidlo myši a všimnete si, že sa nad obrázkom objaví biela vrstva. Nakreslite tvar oblasti, ktorú chcete nahradiť, a nezabudnite ju úplne vyplniť. Neobiehate región, maskujete sa v celom regióne.

Vezmime si príklad z našej horskej kravy a dáme mu kuchársku čiapku. Zamaskujte oblasť približne v tvare kuchárskeho klobúka a nezabudnite nastaviť „Veľkosť dávky“ na viac ako 1. Na dosiahnutie ideálneho výsledku budete pravdepodobne potrebovať viacero.

Okrem toho by ste mali vybrať „Skrytý šum“ a nie „Výplň“, „Originál“ alebo „Slatentné nič“. Má tendenciu produkovať najlepšie výsledky, keď chcete v scéne vygenerovať úplne nový objekt.

Dobre – možno kuchársky klobúk nie je tou správnou voľbou pre vašu horskú kravu. Vaša horská krava má skôr atmosféru začiatku 20. storočia, tak mu dajme buřinku.

Aké pozitívne elegantné.

S Inpaint Not Masked môžete samozrejme urobiť aj presný opak. Koncepčne je to podobné, ibaže regióny, ktoré definujete, sú obrátené. Namiesto označenia oblasti, ktorú chcete zmeniť, označíte oblasti, ktoré chcete zachovať. Často je to užitočné, keď chcete presunúť malý objekt na iné pozadie.

Ako opraviť chybu „CUDA Nedostatok pamäte“.

Čím väčší obrázok vytvoríte, tým viac video pamäte je potrebné. Prvá vec, ktorú by ste mali vyskúšať, je generovanie menších obrázkov. Stabilná difúzia vytvára dobré – aj keď veľmi odlišné – obrázky s rozlíšením 256 × 256.

Ak chcete robiť väčšie obrázky na počítači, ktorý nemá problémy s obrázkami 512 × 512, alebo sa stretávate s rôznymi chybami „Nedostatok pamäte“, existujú určité zmeny v konfigurácii, ktoré by vám mali pomôcť.

Otvorte „webui-user.bat“ v programe Poznámkový blok alebo v akomkoľvek inom textovom editore, ktorý chcete. Stačí kliknúť pravým tlačidlom myši na „webui-user.bat“, kliknúť na „Upraviť“ a potom vybrať Poznámkový blok. Identifikujte riadok, ktorý znie set COMMANDLINE_ARGS=. To je miesto, kde umiestnite príkazy na optimalizáciu fungovania Stable Diffusion.

Ak chcete robiť veľké obrázky alebo vám dochádza RAM na GPU série GTX 10XX, vyskúšajte najprv --opt-split-attention. Bude to vyzerať takto:

Potom kliknite na Súbor > Uložiť. Prípadne môžete stlačiť Ctrl+S na klávesnici.

Ak sa chyby pamäte stále zobrazujú, skúste pridať --medvram do zoznamu argumentov príkazového riadka (COMMANDLINE_ARGS).

Môžete pridať --always-batch-cond-uncond a pokúsiť sa opraviť ďalšie problémy s pamäťou, ak predchádzajúce príkazy nepomohli. Existuje aj alternatíva k --medvram , ktorá by mohla znížiť využitie VRAM ešte viac, --lowvram, ale nemôžeme potvrdiť, či to bude skutočne fungovať alebo nie .

Pridanie používateľského rozhrania je kritickým krokom vpred pri sprístupnení týchto druhov nástrojov riadených AI všetkým. Možnosti sú takmer nekonečné a dokonca aj rýchly pohľad na online komunity venované umelej inteligencii vám ukáže, aká výkonná je táto technológia, dokonca aj keď je v plienkach. Samozrejme, ak nemáte herný počítač alebo sa nechcete starať o nastavenie, vždy môžete použiť niektorý z online generátorov umenia AI. Majte na pamäti, že nemôžete predpokladať, že vaše záznamy sú súkromné.