Het genereren van afbeeldingen met kunstmatige intelligentie heeft het web en sociale media stormenderhand veroverd. Online oplossingen worden steeds robuuster en geavanceerder, maar lokale uitvoering van modellen heeft twee fundamentele voordelen: het is gratis en het omzeilt de beperkingen die online platforms opleggen. De beste offline optie blijft Stable Diffusion, maar de standaardconfiguratie raadt Nvidia-grafische kaarten aan. Gelukkig is een aanbeveling geen verplichting, en vandaag gaan we een manier verkennen om Stable Diffusion te laten draaien op de CPU...
Wil je je tenen in het water van de beeldgeneratie steken? De eenvoudigste manier is door een account aan te maken bij DreamStudio of door Midjourney via Discord te gebruiken, maar geen van deze opties is gratis, en je moet credits kopen zodra je de gratis proefversies hebt verbruikt. Als alternatief is de publieke demo van Stable Diffusion nog steeds beschikbaar, en als je geduld hebt (ik bedoel de wachtrij, de spontane fouten en het bewerken van je prompts), kun je zeer interessante afbeeldingen maken.
Er bestaat echter ook offline generatie, en als je een compatibele Nvidia-grafische kaart hebt, is dat verreweg de beste manier om afbeeldingen te verkrijgen. Waarom? Je kunt verschillende modellen verkennen die door de community worden gedeeld, ontsnap je aan de (logische) beperkingen van online edities, en het belangrijkste: afbeeldingen maken zonder ook maar één cent te betalen. Maar wat als een videokaart geen optie is? In dat geval is de oplossing om Stable Diffusion ervan te overtuigen de CPU te gebruiken.
Voordat je begint…
Je moet je verwachtingen matigen. Het proces offert tijd op in ruil voor compatibiliteit. De exacte prestaties hangen af van elke processor en hoe sterk de cores zijn (cores in het meervoud, je hebt beslist een multicore-chip en 16 GB RAM nodig hiervoor), maar gemiddeld moet je ongeveer vijf minuten per afbeelding rekenen bij 20 stappen. Sommige samplingmethoden vereisen tussen de 30 en 40 stappen voor optimale resultaten, dus geduld is noodzakelijk.
Stable Diffusion configureren zonder videokaart
- In essentie volgt deze gids dezelfde stappen als de installatiehandleiding voor de WebUI-versie van Stable Diffusion, ontwikkeld door Automatic1111 op GitHub. Het is een van de populairste en meest actuele versies op het web, maar het zal niet werken met CPU's zonder een paar aanpassingen aan het einde. Dat is onze taak.
- Allereerst moet je Python 3.10.6 of hoger installeren, en de optie Add Python to PATH aanvinken wanneer de installateur die optie toont.
- Vervolgens is Git voor Windows aan de beurt. Op het moment van schrijven is de nieuwste build 2.38.0, compatibel met 64-bits systemen.
- Twee opties hier: je kunt het commando git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git gebruiken om de volledige repository te downloaden, of dezelfde download handmatig uitvoeren door op de groene knop Code te klikken en vervolgens Download Zip te kiezen. Het eerste pad stelt je in staat om later git pull te gebruiken om te updaten, en bij het tweede moet je elke keer de zip opnieuw downloaden. Hoe dan ook, de installatie van git is verplicht.
- De moeilijkste stap: het verkrijgen van het Stable Diffusion 1.4-model. Dit is een blok van vier gigabyte, dus ik raad aan om een magnetlink te gebruiken voor de download via BitTorrent. Een ander alternatief is direct downloaden, maar kruis je vingers dat je verbinding niet wordt onderbroken.
- Zodra je het model hebt gedownload, moet je de naam wijzigen in model.ckpt en het plaatsen in stable-diffusion-webui-master\models\Stable-diffusion\. De overige modellen worden automatisch gedownload bij de eerste uitvoering.
- We zijn nog niet uit de jungle. De sleutel om dit te laten werken is het forceren van het CPU-gebruik en tegelijkertijd aangeven dat er geen CUDA-apparaten aanwezig zijn.
- Om dit te bereiken, moet je het bestand webui.bat bewerken en twee regels toevoegen, zoals je op de onderstaande afbeelding ziet: set CUDA_VISIBLE_DEVICES=-1 en set COMMANDLINE_ARGS=--precision full --no-half --use-cpu all --skip-torch-cuda-test --autolaunch. Sla de wijzigingen op.
- Open een console met verhoogde rechten en voer webui.bat uit. Die verhoging is niet strikt noodzakelijk, maar voorkomt mogelijke conflicten met Windows.
- Als WebUI meer nodig heeft, zal het waarschijnlijk proberen om dat automatisch te downloaden. Dat is het verwachte gedrag. Als alles goed gaat, wordt de WebUI van Stable Diffusion geopend in het tabblad van je standaardbrowser, op het adres 127.0.0.1:7860.
- Voer een prompt in en beperk het aantal stappen tot 20 om te beginnen. Niet alle samplers werken in CPU-modus (bijvoorbeeld DDIM), en mijn suggestie is om bij Euler A of LMS te blijven. Eén klik op Generate, en dan wachten.
Dat is alles! Met deze stappen wordt het genereren van afbeeldingen met Stable Diffusion en een processor werkelijkheid. De rest is... geduld. Persoonlijk kan ik 16 afbeeldingen op de GPU maken voor elke afbeelding op de CPU, dus we hebben te maken met een enorm prestatieverschil, maar het afstellen van het aantal stappen en de resolutie helpt je de verwerkingstijd te verminderen. Veel succes!