Stable Diffusion: Lokal installieren

  • Maximilian Heinrich
  • 15.12.2022

Künstliche Intelligenz ermöglicht unglaubliche Bilderstellung - auf dem eigenen PC!

Inzwischen dürfte es jeder mitbekommen haben: 2022 war sicherlich das Jahr der Durchbrüche und Revolutionen im Bereich Machine Learning und künstlicher Intelligenz.

Angefangen von Text-zu-Bild-Generatoren, wie OpenAI’s DALL-E, Google’s Imagen bzw. Parti, Midjourney und Stability.ai’s Stable Diffusion, bis zu interaktiven Systemen wie ChatGPT, das teilweise geradezu beunruhigend gute Antworten auf die absurdesten Fragen parat hat.

Seit einigen Tagen ist nun aber Stable Diffusion in der Version 2.1 veröffentlicht und das ist der eigentliche Grund, warum ich gerade diesen Artikel schreibe: Stable Diffusion ist Open Source und ich hatte mir bereits eine vorherige Version lokal installiert, deren Ergebnisse aber hinter meinen Erwartungen zurückblieben, was jedoch nicht an Stable Diffusion lag, sondern an mir bzw. der mir zur Verfügung stehenden Hardware, sprich Grafikkarte.

Das hat sich zumindest für mich mit der aktuellen Version 2.1 gründlich geändert: Endlich kann ich lokal nach Herzenslust die großartigsten Bilder aus Text generieren, oder bestehende Bilder zu anderen Bildern umwandeln lassen. Kurzum: Ein riesengroßer Spaß mit ordentlich Lerneffekt, der sicherlich für ein tieferes Verständnis der Funktionsweise solcher Systeme sorgt - und das schadet bestimmt nicht, wenn man bedenkt, welche Entwicklungen hier innerhalb weniger Monate am Markt vor sich gehen.

Wie AI die Bildproduktion verändert

Ein achtlos erstellter Handy-Schnappschuss des abendlichen Münsterplatzes in Freiburg wird von Stable Diffusion 2.1 nach entsprechender Aufforderung mehr oder weniger abstrakt in ein weihnachtliches Winter Wonderland verwandelt.

So installieren Sie Stable Diffusion in nur wenigen Schritten

Die Installation ist letztlich recht einfach, hält aber den ein oder anderen Stolperstein parat, weswegen ich die Schritte hier noch einmal zusammenfassen möchte, für alle, die das Ganze bei sich lokal installieren möchten. Ich beschreibe hier die Installation unter Windows, und zwar nativ – also nicht im WSL (Windows Subsystem for Linux).

Voraussetzungen

  • Eine aktuelle NVIDIA RTX-Grafikkarte. Das ist leider ein must-have. Eine Grafikkarte mit reiner CUDA-Unterstützung reicht leider nicht aus. Ich habe eine RTX 3070 im Einsatz und bin damit eher am unteren Ende der aktuellen RTX-Grafikkarten angesiedelt. Damit funktioniert es aber bereits einwandfrei.

  • Windows in einer aktuellen Version. Ich habe bei mir Version 11 installiert, gehe aber davon aus, dass es mit 10 natürlich genauso funktioniert.

  • Genug Platz auf dem Laufwerk: Bei mir waren letztlich durch das KI-Model, Pytorch und weitere Libraries mehr als 10 GB verbraucht worden.

Los geht’s!

Wir installieren Stable Diffusion samt passender GUI, denn erst damit macht die manuelle Verwendung wirklich Spaß.

Eine Warnung vorab: Die WebUI wird aktuell stetig weiterentwickelt und es gibt bisher nur einen aktuellen Git-Stand und keine Tags oder Releases, weswegen diese Anleitung vom Ist-Stand abweichen kann. Für erfahrene Anwender und Entwickler, empfehle ich daher, sich an der Anleitung unter https://github.com/AUTOMATIC1111/stable-diffusion-webui zu orientieren. Die folgende Anleitung gilt für den Stand, als dieser Artikel geschrieben wurde (14.12.2022)

  1. Zunächst einmal benötigen wir dafür Python, und zwar in der Version 3.10.6. Das ist nicht die allerneueste, aber es ist die mit diesem System zusammen getestete, weswegen ich hier einfach stur der Anleitung gefolgt bin. Für Windows herunterladbar ist diese Version von dieser Seite aus: https://www.python.org/downloads/windows/

Wichtig: Bei der Installation kann man ein Häkchen setzen, was dazu führt, dass Python in den Pfad eingetragen wird. Das muss angeklickt werden.

  1. Git muss installiert sein oder werden: https://git-scm.com/download/win

  2. Öffnet die Powershell und geht in Euer Benutzerverzeichnis (normalerweise seid ihr da bereits nach dem Öffnen der Shell) oder in ein anderes Verzeichnis, in dem Ihr Schreibrechte habt. Ich habe das Ganze bei mir in „C:\Program Files\Stable Diffusion“ installiert – davon würde ich allerdings abraten, solange ihr nicht wisst, was ihr dort für Rechte anpassen müsst, damit das System nachher auch als nicht-Admin die richtigen Schreibrechte hat.

  3. Holt Euch die aktuelle Version der Stable Diffusion Web UI über den Befehl git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git

  4. Dadurch wird ein Verzeichnis “stable-diffusion-webui” erstellt und dort wiederum ein Verzeichnis “models\Stable-diffusion”. Dort hinein wiederum muss das Stable Diffusion Model sd-v1-4-full-ema.ckpt geladen werden, das ca. 7GB groß ist und hier herunterladbar ist: https://huggingface.co/CompVis/stable-diffusion-v-1-4-original

  5. In dasselbe Verzeichnis muss die Konfigurationsdatei von hier https://raw.githubusercontent.com/Stability-AI/stablediffusion/main/configs/stable-diffusion/v2-inference-v.yaml abgelegt werden, und zwar mit dem Namen des Models, und der Endung YAML, also sd-v1-4-full-ema.yaml

  6. In das Hauptverzeichnis “stable-diffusion-webui” selbst muss dann noch folgende Datei heruntergeladen werden: https://github.com/TencentARC/GFPGAN/releases/download/v1.3.4/GFPGANv1.4.pth

  7. Nun kann man in diesem Hauptverzeichnis das Batchfile webui-user.bat --xformers aufrufen.

Beim ersten Start werden nun weitere Libraries heruntergeladen, was einige Minuten bzw. Gigabytes dauern wird.

Wenn alles geklappt hat, meldet sich das System auf der Shell mit einer Meldung wie:

venv "C:\Program Files\Stable Diffusion\venv\Scripts\Python.exe"
Python 3.10.6 (tags/v3.10.6:9c7b4bd, Aug  1 2022, 21:53:49) [MSC v.1932 64 bit (AMD64)]
Commit hash: <none>
Installing requirements for Web UI
Launching Web UI with arguments:
LatentDiffusion: Running in eps-prediction mode
DiffusionWrapper has 859.52 M params.
Loading weights [7460a6fa] from C:\Program Files\Stable Diffusion\models\Stable-diffusion\sd-v1-4.ckpt
Applying cross attention optimization (Doggettx).
Model loaded.
Loaded a total of 0 textual inversion embeddings.
Embeddings:
Running on local URL:  .....

Danach sollte man das System im Browser auf der lokalen Maschine wie angezeigt unter http://127.0.0.1:7860 erreichen können und in etwa folgendes sehen (hier ein Screenshot nach einer erfolgten Bildgenerierung):

Jetzt heißt es loslegen und ausprobieren!

Das System und v.a. auch diese GUI sind extrem mächtig und jegliche Information darüber würde den Umfang dieses Blogartikels sprengen.

Ein Tipp: Sucht bei YouTube nach “Stable Diffusion” und “Stable Diffusion Web GUI”. Dort gibt es unzählige ausgezeichnete Beiträge zu beiden Themen.

Die Esono AG

Wir sind eine Software- und Digital-Agentur aus Freibug. Seit über 20 Jahren bieten wir individuelle Softwarelösungen für unterschiedlichste Branchen an. Unsere IT-Spezialist:innen für Software-Containerisierung, Industrielösungen und DevOps entwickeln für Sie sofort produktiv einsetzbare Containerlösungen.

Beratung vereinbaren