Seit ein paar Tagen gibt es das neue Bilder AI Stable Diffusion XL (SDXL) Version 1.0. Den Bildgenerator als Version 0.9 gibt es schon etwas länger, konnte aber nicht lokal genutzt werden, die neue 1.0 nun schon. Unterschied zur bisherigen Version Stable Diffusion 1.5 ist, dass das neue AI-Bildgenerator Stable Diffusion XL eine verbesserte Wiedergabe von Farben hat, mehr auf feine Details achtet und Bilder im Format 1024x1024 Pixel erstellen kann und nicht nur 512x512 wie bisher. Dabei kann das Format auch geändert werden und muss nicht 1zu1 sein. Es funktionieren also auch 4:3 oder 16:9, solange das finale Bild dann in Summe nicht mehr als 1.048.576 Pixel hat.
Prinzipiell ist Stable Diffusion XL auf eine Grafikkarte (GPU) von Nvidia ausgelegt, kann aber auch per AMD oder eben per CPU laufen. Per CPU ist aber wirklich fürchterlich langsam. Bei den AMD GPUs muss man etwas testen und ausprobieren. Angeblich geht es mit dedizierten als auch internen GPUs, ab 2 GB VRAM. Es scheint aber wohl deutliche Unterschiede von System zu System zu geben, auch wenn die gleiche AMD-GPU eingebaut ist. Bei mir scheint das Netzteil die Schwachstelle zu sein und ich muss meine RX580 drosseln, sonst schaltet das einfach ab, wenn die zu lange auf Volllast ist.
Zur lokalen Installation von Stable Diffusion XL braucht man allerdings einige Softwarepakete.
Anleitung
1. Python installieren
Offiziell benötigt wird die Python-Version 3.10.6, die es hier zum Download gibt:
https://www.python.org/downloads/release/python-3106/
Dort nach unten scrollen und den Windows-Installer entsprechend 32- oder 64-Bit auswählen. Die reine Nvidia-Version von Stable Diffusion XL startete hier zumindest auch mit der 3.11.x, wobei die nicht empfohlen wird. Der Installer für die AMD-Version scheitert an der neuen Python Version und bricht den Startvorgang mit einem Fehler ab - der will zwingend die 3.10.6 haben.
Bei der Installation darauf achten, dass der Punkt "Python zu PATH hinzufügen" ausgewählt wird. Ist er per Default nicht. Ohne den kann Python aber von der Kommandozeile nicht starten, da Windows dann den Programmaufruf "python" nicht kennt. Hat man es vergessen, so wie ich am Anfang auch, dann den Installer noch mal starten und "ändern" wählen. Nur den Haken setzen und abschließen.
2. Git installieren
Um final die Stable Diffusion XL Pakete zu laden, verwendet man am einfachsten Git.
Git für Windows gibt es das hier:
https://git-scm.com/download/win
3. Web-UI von Stable Diffusion XL
Damit man nicht alles auf der Console machen muss, sondern einen schöne Weboberfläche hat, braucht es die Web-UI. Hier unterscheidet es sich auch, ob man eine GPU von Nvidia oder eine von AMD hat.
Für Nvidia ist die Quelle:
https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
Für AMD ist es:
https://github.com/lshqqytiger/st…ui-directml.git
Clonen kann man es dann wie folgt.
1. Zuerst die Kommandozeile von Git öffnen. Zu finden unter "Start" bei den Programmen als "Git CMD". Schaut aus wie das Windows-CMD.
2. Ins Benutzerverzeichnis wechseln mit "cd C:\Users\X", wobei das X der eigene Benutzername ist.
3. Nun den Clone abrufen per:
Nvidia:
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
AMD:
git clone https://github.com/lshqqytiger/st…ui-directml.git
Je nachdem, welche Version man hat, erstellt der dann im Benutzerverzeichnis einen neuen Ordner "stable-diffusion-webui" oder "stable-diffusion-webui-directml"
4. AI-Models laden
Hier gibt es zwei und beide sollten geladen werden.
Die "stable-diffusion-xl-base-1.0" unter:
https://huggingface.co/stabilityai/st…1.0.safetensors
und die "stable-diffusion-xl-refiner-1.0" unter:
https://huggingface.co/stabilityai/st…1.0.safetensors
Das kann dauern, sind über 10 GB. Wenn sie geladen sind, dann in den entsprechenden "stable-diffusion-webui"-Ordner im Benutzerverzeichnis schieben.
Model verschieben:
Im zuvor angelegten "stable-diffusion-webui" gibt es den Ordner "models". Darin befindet sich ein weiterer Ordner mit dem Namen "stable-diffusion". Dieser enthält eine Textdatei als Anleitung. Hier hin müssen die beiden heruntergeladenen Modelle kopiert / verschoben werden.
5. Web-UI Setup
Im Hauptverzeichnis der "stable-diffusion-webui" befindet sich die Datei "webui-user.bat".
Von dieser Datei am besten eine Kopie erstellen als "webui-eigene-settings.bat". Die Kopie ist nicht nötig, aber sinnvoll, denn die offizielle "webui-user.bat" wird bei einem automatischen Update der Web-UI durch Git überschrieben und die eigene Konfiguration wäre verloren.
Die Datei nun zum Bearbeiten öffnen per Rechtsklick -> Bearbeiten. Es sollte sich der Windows Editor öffnen.
Darin gibt es bereits eine Zeile mit "set COMMANDLINE_ARGS=". Für AMD diese ändern in:
set COMMANDLINE_ARGS=--lowvram --always-batch-cond-uncond --precision full --no-half --opt-split-attention --opt-sub-quad-attention --sub-quad-q-chunk-size 512 --sub-quad-kv-chunk-size 512 --sub-quad-chunk-threshold 80 --disable-nan-check --use-cpu interrogate gfpgan codeformer --upcast-sampling --api --listen --autolaunch
Das "--autolaunch" am Ende des Command sorgt dafür, dass die Weboberfläche selbst startet. Kann man auch weglassen, dann muss man die Oberfläche per https://127.0.0.1:7860 allerdings manuell aufrufen.
Hier ist auch der Punkt, an dem man etwas spielen muss. Gerade der erste "--lowvram" ist da wichtig. Gibt auch noch "--medvram". Eigentlich ist das "low" für System mit weniger als 6 GB VRAM gedacht. Ich hier habe 8 GB, aber mit "med" stürzt mein System teilweise willkürlich ab. Bedeutet, das Bild wird einfach dunkel oder der Rechner geht komplett aus. Also testen, was geht oder bei Google mal nach "stable diffusion seine GPU" suchen. Gibt da eigentlich fast alles.
Die "webui-eigene-settings.bat" speichern.
6. Stable Diffusion starten
Dazu einfach die "webui-eigene-settings.bat" nun doppelt anklicken. Das dauert eine Weile, es werden etliche Daten nachgeladen. Wenn er fertig ist, öffnet sich durch den zuvor hinterlegten "--autolaunch" ein Browserfenster.
Kann sein, dass da ein paar Fehlermeldungen kommen, wie bei mir im Bild. Wenn da aber ein "Running on localhost" kommt, scheint es zu gehen. Es müsste sich dann auch der Tab im Browser öffnen.
Oben bei "Stable Diffusion Checkpoint" nun das Model auswählen. Ich habe den Refiner, ist der bessere von beiden.
Und nun kann gespielt werden
Die Ergebnisse sind eigentlich ganz gut, so wie das hier:
Das war allerdings auch mit 512x512 Pixel. Bei Versuchen mit größeren Bildern stürze mein System leider auch ab. Ok, ich spiele damit nun auch erst einen Tag
Im Consolenfenster wird auch der Fortschritt und die Geschwindigkeit der Generierung angezeigt. In diesem Fall fürchterlich langsam, ist aber beim ersten Bild nach dem Start immer so hier. Da rödelt der wie bekloppt auf der Festplatte rum. Erst später geht der dann von der HDD auf die GPU über, keine Ahnung warum.