Stabiele diffusie lokaal uitvoeren met een GUI op Windows

0
123

Je kunt Stable Diffusion lokaal op je pc installeren, maar het gebruikelijke proces omvat veel werk met de opdrachtregel om te installeren en te gebruiken. Gelukkig voor ons heeft de Stable Diffusion-gemeenschap dat probleem opgelost. Hier leest u hoe u een versie van Stable Diffusion installeert die lokaal draait met een grafische gebruikersinterface!

Inhoudsopgave

Wat is stabiele diffusie?
Wat heb je nodig om deze versie van Stable Diffusion?
Hoe installeer ik Stable Diffusion met een GUI
    Installeer eerst Python
    Installeer Git en download de GitHub Repo
&nbsp ;   Download alle controlepunten
Hoe u afbeeldingen genereert met behulp van stabiele diffusie met een GUI
Afbeeldingen maskeren die u in Inpaint maakt
De fout “CUDA vol geheugen” oplossen

Wat is Stable Diffusion?

Stable Diffusion is een AI-model dat afbeeldingen kan genereren op basis van tekstprompts, of bestaande afbeeldingen kan wijzigen met een tekstprompt, net zoals MidJourney of DALL-E 2. Het werd voor het eerst uitgebracht in augustus 2022 door Stabiliteit.ai. Het begrijpt duizenden verschillende woorden en kan worden gebruikt om bijna elk beeld te creëren dat je fantasie kan oproepen in bijna elke stijl.

Er zijn echter twee cruciale verschillen die Stable Diffusion onderscheiden van de meeste andere populaire AI-kunstgeneratoren:

  • Het kan lokaal op uw pc worden uitgevoerd
  • Het is een open-sourceproject

GERELATEERD Stabiele verspreiding brengt lokale AI-kunstgeneratie naar uw pc

Het laatste punt is hier echt het belangrijkste punt. Traditioneel wordt Stable Diffusion geïnstalleerd en uitgevoerd via een opdrachtregelinterface. Het werkt, maar het kan onhandig en niet-intuïtief zijn en het is een belangrijke toegangsdrempel voor mensen die anders geïnteresseerd zouden zijn. Maar aangezien het een open source-project is, creëerde de gemeenschap er snel een gebruikersinterface voor en begon ze hun eigen verbeteringen toe te voegen, waaronder optimalisaties om het gebruik van videoram (VRAM) te minimaliseren en opschaling en maskering in te bouwen.

Wat heb je nodig om deze versie van stabiele diffusie uit te voeren?

Deze versie van Stable Diffusion is een vork — een uitloper — van de hoofdrepository (repo) gemaakt en onderhouden door Stability.ai. Het heeft een grafische gebruikersinterface (GUI) — waardoor het gemakkelijker te gebruiken is dan de reguliere Stable Diffusion, die alleen een opdrachtregelinterface heeft — en een installatieprogramma dat het grootste deel van de installatie automatisch afhandelt.

GERELATEERD: Stabiele verspreiding op uw pc uitvoeren om AI-afbeeldingen te genereren

Waarschuwing: Wees zoals altijd voorzichtig met softwarevorken van derden die u op GitHub vindt. We gebruiken dit al een tijdje zonder problemen, en dat geldt ook voor duizenden anderen, dus we zijn geneigd te zeggen dat het veilig is. Gelukkig zijn de code en wijzigingen hier klein vergeleken met sommige forks van open-sourceprojecten.

Deze vork bevat ook verschillende optimalisaties die het mogelijk moeten maken om op pc's met minder RAM te draaien, ingebouwde opschaling en gezichtsmogelijkheden met behulp van GFPGAN, ESRGAN, RealESRGAN en CodeFormer, en maskering. Maskeren is een groot probleem — het stelt je in staat om de AI-beeldgeneratie selectief toe te passen op bepaalde delen van de afbeelding zonder andere delen te vervormen, een proces dat doorgaans inpainting wordt genoemd.

  • Minimaal 10 gigabyte vrij op je harde schijf
  • Een NVIDIA GPU met 6 GB RAM (hoewel je misschien 4 GB kunt laten werken)
  • Een pc met Windows 11, Windows 10, Windows 8.1 of Windows 8
  • De WebUI GitHub Repo, door AUTOMATIC1111
  • Python 3.10.6 (nieuwere versies en de meeste oudere versies zouden ook goed moeten zijn)
  • The Stable Diffusion Official Checkpoints (let op de v1.5-controlepunten eind september!)
  • De GFPGAN v1.3 Checkpoints (v1.4 werkt misschien ook)
  • Alle extra ESRGAN-modellen die je maar wilt. Je kunt er zo veel of weinig gebruiken als je wilt.

Stable Diffusion installeren met een GUI

Het installatieproces is aanzienlijk gestroomlijnd, maar er zijn nog een paar stappen die u handmatig moet uitvoeren voordat het installatieprogramma kan worden gebruikt.

Python eerst installeren

Het eerste dat u moet doen is installeer de versie van Python, 3.10.6, aanbevolen door de auteur van de repo. Ga naar die link, scrol naar de onderkant van de pagina en klik op “Windows Installer (64-bit).”

Klik op het uitvoerbare bestand dat u hebt gedownload en doorloop de aanwijzingen. Als je Python al hebt geïnstalleerd (en dat heb je zeker), klik dan gewoon op “Upgrade.” Volg anders de aanbevolen aanwijzingen.

Opmerking: Zorg ervoor dat je Python 3.10.6 toevoegt aan het PATH als je daar een optie voor krijgt.

Installeer Git en download de GitHub Repo

Je moet Git downloaden en installeren op Windows voordat het Stable Diffusion-installatieprogramma kan worden uitgevoerd. Download het 64-bits uitvoerbare bestand van Git, voer het uit en gebruik de aanbevolen instellingen, tenzij je iets specifieks in gedachten hebt.

GERELATEERD: Git installeren op Windows

Vervolgens moet je de bestanden downloaden van de GitHub-repo. Klik op de groene “Code” en klik vervolgens op “ZIP downloaden” onderaan het menu.

Open het ZIP-bestand in Verkenner of uw favoriete programma voor bestandsarchivering en pak de inhoud uit waar u maar wilt. Houd er rekening mee dat u naar die map moet gaan om Stable Diffusion uit te voeren. In dit voorbeeld zijn ze geëxtraheerd naar de map C:, maar dat is niet essentieel.

Opmerking:Zorg ervoor dat u niet per ongeluk “stable-diffusion-webui-master” naar een andere map in plaats van lege ruimte — als je dat doet, valt het in die map, niet in de bovenliggende map die je bedoelde.

Download All The Checkpoints

Er zijn een paar checkpoints die je nodig hebt om dit te laten werken. De eerste en belangrijkste zijn de Stabiele Diffusie Checkpoints. U moet een account aanmaken om de checkpoints te downloaden, maar er is niet veel nodig voor het account — alles wat ze nodig hebben is een naam en e-mailadres, en je bent klaar om te gaan.

Opmerking: De download van de checkpoints is enkele gigabytes. Verwacht niet dat het meteen wordt gedaan.

Kopieer en plak “sd-v1-4.ckpt” in de “stable-diffusion-webui-master” map uit de vorige sectie en klik met de rechtermuisknop op “sd-v1-4.ckpt” en druk op hernoemen. Typ “model.ckpt” in het tekstveld en druk op Enter. Wees er zeker van dat het “model.ckpt” — anders werkt dit niet.

Opmerking: De hernoemingsfunctie is een pictogram op Windows 11.

U moet ook de GFPGAN-controlepunten downloaden. De auteur van de repo die we gebruiken, riep op tot GFPGAN v1.3-controlepunten, maar je kunt misschien v1.4 gebruiken als je het wilt uitproberen. Scroll naar beneden op de pagina en klik vervolgens op “V1.3 model.”

Plaats dat bestand, “GFPGANv1.3.pth,” in de “stable-diffusion-webui-master” map net zoals je deed met de “sd-v1-4.ckpt” bestand, maar niet de naam ervan wijzigen. De “stabiele-diffusie-webui-master” map zou nu deze bestanden moeten bevatten:

Je kunt ook zoveel ESRGAN-controlepunten downloaden als je wilt. Ze zijn meestal verpakt als ZIP-bestanden. Nadat je er een hebt gedownload, open je het ZIP-bestand en pak je het “.pth” bestand in de “ESRGAN” map. Hier is een voorbeeld:

ESRGAN-modellen bieden doorgaans meer specifieke functionaliteit, dus kies er een paar uit die je aanspreken.

Nu hoeft u alleen maar te dubbelklikken op “webui-user.bat” bestand, dat zich bevindt in de primaire “stable-diffusion-webui-master” map. Er verschijnt een consolevenster en begin met het ophalen van alle andere belangrijke bestanden, het bouwen van een Python-omgeving en het opzetten van een webgebruikersinterface. Het ziet er als volgt uit:

Opmerking:Houd er rekening mee dat de eerste keer dat u dit uitvoert minstens een paar minuten duurt. Het moet een heleboel dingen van internet downloaden. Als het lijkt alsof het een onredelijk lange tijd in één stap blijft hangen, probeer dan gewoon het consolevenster te selecteren en op de Enter-toets te drukken.

Als het klaar is, geeft de console het volgende weer:

Draait op lokale URL: http://127.0.0.1:7860 Om een ​​openbare link te maken, stelt u `share=True` in `launch()`

GERELATEERD: Wat is het 127.0.0.1 IP-adres en hoe gebruik je het?

Afbeeldingen genereren met behulp van Stable Diffusion met een GUI

Ok, je hebt de WebUI-variant van Stable Diffusion geïnstalleerd en je console laat je weten dat deze op een lokale URL draait: http://127.0.0.1:7860.”

Opmerking:Wat houdt dat precies in, wat gebeurt er? 127.0.0.1 is het localhost-adres — het IP-adres dat uw computer zichzelf geeft. Deze versie van Stable Diffusion creëert een server op uw lokale pc die toegankelijk is via zijn eigen IP-adres, maar alleen als u verbinding maakt via de juiste poort: 7860. 

Open uw browser, voer “ 127.0.0.1:7860” of “localhost:7860” in de adresbalk en druk op Enter. Je ziet dit op het tabblad txt2img:

Als u Stable Diffusion al eerder hebt gebruikt, zullen deze instellingen u bekend voorkomen, maar hier is een kort overzicht van wat de belangrijkste opties betekenen:

  • Vraag: De beschrijving van wat je wilt maken.
  • Roll-knop: past een willekeurige artistieke stijl toe op je prompt.
  • Bemonsteringsstappen: het aantal keren dat de afbeelding wordt verfijnd voordat u een uitvoer ontvangt. Meer is over het algemeen beter, maar er zijn steeds minder opbrengsten.
  • Samplemethode: De onderliggende wiskunde die bepaalt hoe steekproeven worden afgehandeld. U kunt elk van deze gebruiken, maar euler_a en PLMS lijken de meest populaire opties te zijn. U kunt meer lezen over PLMS in dit artikel.
  • Gezichten herstellen: Gebruikt GFPGAN om griezelige of vervormde gezichten te corrigeren.
  • Batchtelling : Het aantal afbeeldingen dat moet worden gegenereerd.
  • Batchgrootte: Het aantal “batches”. Houd dit op 1 tenzij je een enorme hoeveelheid VRAM hebt.
  • CFG-schaal: Hoe zorgvuldig Stable Diffusion de prompt zal volgen die u geeft. Grotere getallen betekenen dat het de afbeelding heel nauwkeurig volgt, terwijl lagere getallen het meer creatieve vrijheid geven.
  • Breedte: De breedte van de afbeelding die u wilt genereren.
  • Hoogte: De breedte van de afbeelding die u wilt genereren.
  • Seed: Het getal dat een eerste invoer levert voor een generator van willekeurige getallen. Laat het op -1 staan ​​om willekeurig een nieuwe seed te genereren.

Laten we vijf afbeeldingen genereren op basis van de prompt: “een hooglandkoe in een magisch bos, 35mm filmfotografie, scherp” en kijk wat we krijgen met de PLMS-sampler, 50 bemonsteringsstappen en een CFG-schaal van 5.

Tip: U kunt altijd op de &#8220 drukken ;Onderbreken” knop om het genereren te stoppen als uw taak te lang duurt.

Het uitvoervenster ziet er als volgt uit:

Opmerking: Uw afbeeldingen zullen anders zijn.

De bovenste middelste afbeelding is degene die we zullen gebruiken om uit te proberen voor het maskeren van een beetje later. Er is niet echt een andere reden voor deze specifieke keuze dan persoonlijke voorkeur. Pak een afbeelding die je leuk vindt.

Selecteer deze en klik vervolgens op “Verzenden naar Inpaint.”

Hoe u afbeeldingen kunt maskeren die u maakt met Inpaint

Inpainting is een fantastische functie. Normaal gesproken wordt Stabiele diffusie gebruikt om volledige afbeeldingen te maken vanaf een prompt, maar met inpainting kunt u selectief delen van de afbeelding genereren (of regenereren). Er zijn hier twee cruciale opties: inpaint gemaskeerd, inpaint niet gemaskeerd.

Inpaint gemaskeerd zal de prompt gebruiken om afbeeldingen te genereren binnen het gebied dat u markeert, terwijl inpaint niet gemaskeerd precies het tegenovergestelde zal doen — alleen het gebied dat u maskeert, blijft behouden.

We zullen eerst een beetje over Inpaint gemaskeerd bespreken. Sleep met je muis over de afbeelding terwijl je de linkermuisknop ingedrukt houdt en je zult zien dat er een witte laag over je afbeelding verschijnt. Teken de vorm van het gebied dat u wilt vervangen en zorg ervoor dat u het volledig invult. Je omcirkelt een regio niet, je maskeert de hele regio.

Tip:Als je alleen maar iets toevoegt aan een bestaande afbeelding, kan het handig zijn om te proberen het gemaskeerde gebied uit te lijnen met de vorm die je probeert te maken. Het maskeren van een driehoekige vorm als je bijvoorbeeld een cirkel wilt, is contraproductief.

Laten we het voorbeeld van onze hooglandkoe nemen en hem een ​​koksmuts geven. Maskeer een gebied in ongeveer de vorm van een koksmuts en zorg ervoor dat u “Batchgrootte” tot meer dan 1. Je hebt er waarschijnlijk meerdere nodig om een ​​ideaal(e) resultaat te krijgen.

Bovendien moet u “Latent Noise” in plaats van “Vul,” “Origineel,” of “latent niets.” Het levert meestal de beste resultaten op wanneer u een geheel nieuw object in een scène wilt genereren.

Opmerking:Je zult zien dat de linkerrand van de hoed een deel van zijn hoorn heeft verwijderd. Dat gebeurde omdat de "Mask Blur" instelling was een beetje te hoog. Als je dat soort dingen in je afbeeldingen ziet, probeer dan de “Mask Blur” waarde.

Prompt : Koksmuts Instellingen: Inpaint Masked, Latent Diffusion, CFG 9.5, ruissterkte 0.75, Sampling Steps = 50, Sampling Method = Euler_A

Ok — misschien is een koksmuts niet de juiste keuze voor uw hooglandkoe. Je hooglandkoe is meer in de sfeer van het begin van de 20e eeuw, dus laten we hem een ​​bolhoed geven.

Prompt: Bwel hat Instellingen: Inpaint Masked, Latente Diffusion, CFG 9.5, ruissterkte 0,75, Sampling Steps = 50, Sampling Method = Euler_A

Hoe positief dapper.

Met Inpaint Not Masked kunt u natuurlijk ook precies het tegenovergestelde doen. Het is conceptueel vergelijkbaar, behalve dat de regio's die u definieert, zijn omgekeerd. In plaats van de regio te markeren die u wilt wijzigen, markeert u de regio's die u wilt behouden. Het is vaak handig als u een klein object naar een andere achtergrond wilt verplaatsen.

Hoe de “CUDA onvoldoende geheugen op te lossen&#8221 ; Fout

Hoe groter de afbeelding die u maakt, hoe meer videogeheugen er nodig is. Het eerste dat u moet proberen, is het genereren van kleinere afbeeldingen. Stabiele diffusie produceert goede — zij het heel anders — afbeeldingen op 256×256.

Als het jeukt om grotere afbeeldingen te maken op een computer die geen problemen heeft met 512×512 afbeeldingen, of als je verschillende “Onvoldoende geheugen” fouten, zijn er enkele wijzigingen in de configuratie die zouden moeten helpen.

Open “webui-user.bat” in Kladblok of een andere platte teksteditor die u wilt. Klik met de rechtermuisknop op “webui-user.bat,” klik op “Bewerken,” en selecteer vervolgens Kladblok. Identificeer de regel met de tekst set COMMANDLINE_ARGS=. Dat is waar je de commando's gaat plaatsen om de werking van Stable Diffusion te optimaliseren.

GERELATEERD: Hoe schrijf je een batchscript op Windows

Als je gewoon enorme foto's wilt maken, of als je geen RAM meer hebt op een GPU uit de GTX 10XX-serie, probeer dan eerst –opt-split-attention. Het ziet er als volgt uit:

Klik vervolgens Bestand > Opslaan. U kunt ook op Ctrl+S op uw toetsenbord drukken.

Als je nog steeds geheugenfouten krijgt, probeer dan –medvram toe te voegen aan de lijst met opdrachtregelargumenten (COMMANDLINE_ARGS).

U kunt –always-batch-cond-uncond toevoegen om extra geheugenproblemen op te lossen als de vorige opdrachten niet hebben geholpen. Er is ook een alternatief voor –medvram dat het VRAM-gebruik nog meer zou kunnen verminderen, –lowvram, maar we kunnen niet bevestigen of het echt zal werken.

De toevoeging van een gebruikersinterface is een cruciale stap voorwaarts om dit soort AI-gestuurde tools voor iedereen toegankelijk te maken. De mogelijkheden zijn bijna eindeloos, en zelfs een snelle blik op de online communities gewijd aan AI-kunst zal je laten zien hoe krachtig de technologie is, zelfs in de kinderschoenen. Als je geen gamecomputer hebt of je geen zorgen wilt maken over de installatie, kun je natuurlijk altijd een van de online AI-artgenerators gebruiken. Houd er rekening mee dat u er niet vanuit kunt gaan dat uw invoer privé is.

LEES VOLGENDE

  • › Gigabyte's nieuwe monitor is voor beide bureau-pc's
  • › Foto's maken in 16:9 op iPhone
  • › Een toets of snelkoppeling opnieuw toewijzen op Windows 11
  • › Kunt u uw iPhone 14 niet activeren? Dit is wat u moet doen
  • › Het Always-On Display van de iPhone 14 Pro uitschakelen
  • › Een Microsoft-sjabloon gebruiken voor uw Outlook-handtekening