Kako pokrenuti stabilnu difuziju lokalno s GUI-om na Windows-u


Možete instalirati Stable Diffusion lokalno na svoj PC, ali tipičan proces uključuje puno rada s komandnom linijom za instalaciju i korištenje. Na našu sreću, zajednica Stable Diffusion je riješila taj problem. Evo kako instalirati verziju Stable Diffusion koja radi lokalno s grafičkim korisničkim sučeljem!

Šta je stabilna difuzija?

Stable Diffusion je AI model koji može generirati slike iz tekstualnih upita ili modificirati postojeće slike tekstualnim promptom, slično kao MidJourney ili DALL-E 2. Prvi put je objavljen u avgustu 2022. od strane Stability.ai. Razumije hiljade različitih riječi i može se koristiti za stvaranje gotovo svake slike koju vaša mašta može dočarati u gotovo svakom stilu.

Ipak, postoje dvije kritične razlike koje izdvajaju Stable Diffusion od većine ostalih popularnih AI umjetničkih generatora:

  • Može se pokrenuti lokalno na vašem računaru
  • To je projekat otvorenog koda

Poslednja tačka je zaista važno pitanje. Tradicionalno, Stable Diffusion se instalira i pokreće preko interfejsa komandne linije. Radi, ali može biti nezgrapno, neintuitivno i predstavlja značajnu prepreku ulasku za ljude koji bi inače bili zainteresovani. Ali, budući da se radi o projektu otvorenog koda, zajednica je brzo kreirala korisničko sučelje za njega i počela da dodaje vlastita proširenja, uključujući optimizacije za minimiziranje upotrebe video ram-a (VRAM) i ugradnju povećanja i maskiranja.

Šta vam je potrebno da pokrenete ovu verziju stabilne difuzije?

Ova verzija Stable Diffusion je fork — izdanak — glavnog spremišta (repo) koji je kreirao i održava Stability.ai. Ima grafičko korisničko sučelje (GUI) – što ga čini lakšim za korištenje od obične Stable Diffusion, koja ima samo sučelje komandne linije – i instalater koji će automatski obrađivati većinu podešavanja.

Ovaj fork takođe sadrži razne optimizacije koje bi trebale da mu omoguće da radi na računarima sa manje RAM-a, ugrađenim povećanjem i mogućnostima lica koristeći GFPGAN, ESRGAN, RealESRGAN i CodeFormer, i maskiranje. Maskiranje je velika stvar — omogućava vam da selektivno primenite generisanje AI slike na određene delove slike bez izobličenja drugih delova, proces koji se obično naziva slikanjem.

  • Minimalno 10 gigabajta besplatno na vašem tvrdom disku
  • NVIDIA GPU sa 6 GB RAM-a (iako biste mogli učiniti da 4 GB radi)
  • Računar sa operativnim sistemom Windows 11, Windows 10, Windows 8.1 ili Windows 8
  • WebUI GitHub Repo, autora AUTOMATIC1111
  • Python 3.10.6 (novije verzije i većina starijih verzija bi također trebale biti u redu)
  • Zvanične kontrolne tačke stabilne difuzije (Pazite na kontrolne tačke v1.5!)
  • GFPGAN v1.4 Checkpoints
  • Sve dodatne ESRGAN modele koje biste mogli poželjeti. Možete koristiti koliko god želite.

Kako instalirati Stable Diffusion sa GUI

Proces instalacije je značajno pojednostavljen, ali još uvijek postoji nekoliko koraka koje morate učiniti ručno prije nego što se instalater može koristiti.

Prvo instalirajte Python

Prva stvar koju treba da uradite je da instalirate verziju Pythona, 3.10.6, koju je preporučio autor repo. Idite na tu vezu, skrolujte prema dnu stranice i kliknite na "Windows Installer (64-bit)".

Kliknite na izvršnu datoteku koju ste preuzeli i prođite kroz upite. Ako već imate instaliran Python (a sigurno jeste), samo kliknite na „Nadogradi“. U suprotnom slijedite preporučene upute.

Instalirajte Git i preuzmite GitHub Repo

Morate preuzeti i instalirati Git na Windows prije nego što se može pokrenuti instalacijski program Stable Diffusion. Samo preuzmite 64-bitni Git izvršni fajl, pokrenite ga i koristite preporučene postavke osim ako imate nešto specifično na umu.

Zatim morate preuzeti datoteke iz GitHub repo-a. Kliknite na zeleno dugme „Šifra“, a zatim kliknite na „Preuzmi ZIP“ na dnu menija.

Otvorite ZIP datoteku u File Exploreru ili željenom programu za arhiviranje datoteka, a zatim izvucite sadržaj gdje god želite. Samo imajte na umu da je mapa mjesto gdje ćete morati ići da pokrenete Stable Diffusion. Ovaj primjer ih je izdvojio u direktorij C:\, ali to nije bitno.

Preuzmite sve kontrolne tačke

Postoji nekoliko kontrolnih tačaka koje su vam potrebne da bi ovo funkcioniralo. Prve i najvažnije su kontrolne tačke stabilne difuzije. Morate kreirati nalog za preuzimanje kontrolnih tačaka, ali za nalog nije potrebno mnogo – sve što im je potrebno je ime i adresa e-pošte i možete krenuti.

Kopirajte i zalijepite “sd-v1-4.ckpt” u fasciklu “C:\stable-diffusion-webui-master\models\Stable-diffusion”, zatim kliknite desnim tasterom miša na “sd-v1-4.ckpt” i pritisnite preimenuj . Upišite “model.ckpt” u tekstualno polje i pritisnite Enter. Budite sigurni da je to “model.ckpt” — ovo inače neće raditi.

Također morate preuzeti GFPGAN kontrolne tačke. Autor repo-a koji koristimo pozvao je GFPGAN v1.4 kontrolne tačke. Pomaknite se prema dolje po stranici, a zatim kliknite na “V1.4 model”.

Stavite taj fajl, “GFPGANv1.4.pth”, u folder “stable-diffusion-webui-master”, ali ga nemojte imenovati. Fascikla "stable-diffusion-webui-master" sada bi trebala sadržavati ove datoteke:

Takođe možete preuzeti onoliko ESRGAN kontrolnih tačaka koliko želite. Obično dolaze upakovane kao ZIP datoteke. Nakon što preuzmete jednu, otvorite ZIP datoteku, a zatim izdvojite „.pth“ datoteku u fasciklu „models/ESRGAN“. Evo primjera:

ESRGAN modeli imaju tendenciju da pružaju specifičniju funkcionalnost, pa odaberite par koji vam se sviđa.

Sada samo trebate dvaput kliknuti na datoteku “webui-user.bat”, koja se nalazi u primarnoj mapi “stable-diffusion-webui-master”. Pojavit će se prozor konzole i početi preuzimati sve druge važne datoteke, graditi Python okruženje i postavljati web korisničko sučelje. To će izgledati ovako:

Kada se to završi, konzola će prikazati:

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

Kako generirati slike koristeći stabilnu difuziju s GUI

U redu, instalirali ste WebUI varijantu Stable Diffusion, a vaša konzola vam je dala do znanja da se „pokreće na lokalnom URL-u: http://127.0.0.1:7860.”

Otvorite svoj pretraživač, unesite “127.0.0.1:7860” ili “localhost:7860” u adresnu traku i pritisnite Enter. Ovo ćete vidjeti na kartici txt2img:

Ako ste ranije koristili Stable Diffusion, ove postavke će vam biti poznate, ali evo kratkog pregleda onoga što znače najvažnije opcije:

  • Upit: Opis onoga što želite kreirati.
  • Dugme Painter's Pallete: Primjenjuje nasumični umjetnički stil na vaš upit.
  • Koraci uzorkovanja: Koliko puta će slika biti pročišćena prije nego što dobijete izlaz. Više je generalno bolje, ali ima sve manje prinosa.
  • Metoda uzorkovanja: Osnovna matematika koja upravlja načinom na koji se postupa s uzorkovanjem. Možete koristiti bilo koji od ovih, ali čini se da su euler_a i PLMS najpopularnije opcije. Više o PLMS-u možete pročitati u ovom radu.
  • Vrati lica: koristi GFPGAN da pokuša popraviti nevjerojatna ili izobličena lica.
  • Broj serija: Broj slika koje treba generirati.
  • Veličina serije: Broj "serija". Ostavite ovo na 1 osim ako nemate ogromnu količinu VRAM-a.
  • CFG skala: Koliko će pažljivo Stabilna difuzija pratiti upit koji mu date. Veći brojevi znače da ga prati veoma pažljivo, dok manji brojevi daju više kreativne slobode.
  • Širina: Širina slike koju želite generirati.
  • Visina: Širina slike koju želite generirati.
  • Početno: Broj koji daje početni ulaz za generator slučajnih brojeva. Ostavite na -1 da nasumično generišete novo sjeme.

Hajde da generišemo pet slika na osnovu upita: „brdska krava u magičnoj šumi, 35mm filmska fotografija, oštra“ i vidimo šta dobijamo pomoću PLMS uzorkivača, 50 koraka uzorkovanja i CFG skale od 5.

Izlazni prozor će izgledati ovako:

Gornja srednja slika je ona koju ćemo koristiti za maskiranje malo kasnije. Za ovaj konkretan izbor zapravo nema razloga osim ličnih preferencija. Zgrabite bilo koju sliku koja vam se sviđa.

Odaberite ga, a zatim kliknite na "Pošalji u Inpaint".

Kako maskirati slike koje kreirate za crtanje

Slikanje je fantastična karakteristika. Normalno stabilna difuzija se koristi za kreiranje čitavih slika iz prompta, ali slikanje vam omogućava da selektivno generišete (ili regenerišete) delove slike. Ovdje postoje dvije kritične opcije: inpaint maskiran, inpaint nije maskiran.

Inpaint maskirana će koristiti prompt za generiranje slika unutar područja koje označite, dok će inpaint bez maske učiniti upravo suprotno – samo će područje koje maskirate biti sačuvano.

Prvo ćemo pokriti nešto o Inpaint maskiranom. Povucite mišem po slici držeći levi klik i primijetit ćete bijeli sloj koji se pojavljuje iznad vaše slike. Nacrtajte oblik područja koje želite zamijeniti i obavezno ga popunite u potpunosti. Ne kružite oko regije, vi se maskirate u cijeloj regiji.

Uzmimo primjer naše planinske krave i dajmo mu kuharski šešir. Zamaskirajte regiju otprilike u obliku kuharskog šešira i pobrinite se da postavite "Veličina serije" na više od 1. Vjerojatno će vam trebati više da biste dobili idealan(i) rezultat.

Osim toga, trebali biste odabrati “Latentni šum” umjesto “Fill”, “Original” ili “Latent Nothing”. Ima tendenciju da daje najbolje rezultate kada želite da generišete potpuno novi objekat u sceni.

U redu - možda kuharski šešir nije pravi izbor za vašu planinsku kravu. Vaša planinska krava više voli vibracije ranog 20. stoljeća, pa hajde da mu damo kuglanu.

Kako je pozitivno.

Naravno, možete učiniti i potpuno suprotno sa Inpaint Not Masked. Konceptualno je sličan, osim što su regije koje definirate obrnute. Umjesto da označite regiju koju želite promijeniti, vi označite regije koje želite da sačuvate. Često je korisno kada želite premjestiti mali objekt na drugu pozadinu.

Kako popraviti grešku “CUDA Out Of Memory”.

Što je veća slika koju napravite, potrebno je više video memorije. Prva stvar koju biste trebali pokušati je generiranje manjih slika. Stabilna difuzija daje dobre — iako veoma različite — slike pri 256×256.

Ako žudite napraviti veće slike na računalu koje nema problema sa slikama od 512×512 ili nailazite na razne greške „Nedostaje memorije“, postoje neke promjene u konfiguraciji koje bi trebale pomoći.

Otvorite “webui-user.bat” u Notepadu ili bilo kojem drugom uređivaču običnog teksta koji želite. Samo kliknite desnim tasterom miša na “webui-user.bat”, kliknite na “Uredi”, a zatim odaberite Notepad. Identifikujte red koji glasi set COMMANDLINE_ARGS=. Tu ćete postaviti komande za optimizaciju rada Stable Diffusion.

Ako samo želite napraviti ogromne slike ili vam ponestaje RAM-a na GPU-u serije GTX 10XX, prvo isprobajte --opt-split-attention . To će izgledati ovako:

Zatim kliknite na File > Save. Alternativno, možete pritisnuti Ctrl+S na tastaturi.

Ako i dalje dobijate greške u memoriji, pokušajte dodati --medvram na listu argumenata komandne linije (COMMANDLINE_ARGS).

Možete dodati --always-batch-cond-uncond da pokušate riješiti dodatne probleme s memorijom ako prethodne komande nisu pomogle. Postoji i alternativa --medvram koja bi mogla još više smanjiti korištenje VRAM-a, --lowvram, ali ne možemo potvrditi da li će to zaista raditi ili ne .

Dodavanje korisničkog interfejsa je kritičan korak naprijed u tome da ove vrste alata vođenih umjetnom inteligencijom učinimo dostupnim svima. Mogućnosti su gotovo beskrajne, a čak i brzi pogled na online zajednice posvećene AI umjetnosti će vam pokazati koliko je moćna tehnologija, čak i dok je u povojima. Naravno, ako nemate kompjuter za igranje ili ne želite da brinete o podešavanju, uvek možete koristiti jedan od onlajn AI generatora umetnosti. Samo imajte na umu da ne možete pretpostaviti da su vaši unosi privatni.