Ich wollte schon länger einmal bei mir daheim eine lauffähige Stable Diffusion Installation aufsetzen. Das ganze bin ich jetzt über Ostern angegangen mit zwei Zielen die ich verfolgt habe. Einmal möchte ich lernen wie ich gute Prompts schreibe damit die genierten Bilder auch in meinen Augen gut aussehen denn ob Kunst schön ist oder nicht liegt im Auge des Betrachters. Das zweite Ziel das ich verfolge ist auch einmal selber ein Netz weiter zu trainieren mit meinen spezifischen Anforderungen. Denn ich würde gerne für ein Minensuchprojekt Bilder von PFM-1 Antipersonen-Minen generieren die als synthetische Daten für die Verbesserung der Erkennungsrate von neuronalen Netzen genutzt werden können. So könnten da bei Stable Diffusion die Geometrie nicht unbedingt dem Original entspricht zumindest False Positive Tests möglich werden. Bei Stable Diffusion ist genau das der spannende Teil für mich, ob ich es schaffe einem bereits trainierten Modell noch weitere Fähigkeiten beibringen zu können. Daher geht es jetzt gleich einmal los mit der Installation und einrichten einer entsprechenden Umgebung auf einem frisch eingerichteten Ubuntu 22.04 LTS System.
Installations Anleitung – Stable Diffusion web UI
In diesem Abschnitt geht es um die Installation der Stable Diffusion web UI die dank dem Respository von AUTOMATIC1111 ein Web-Interface auf Basis der Gradio library auf dem Zielsystem einrichtet. Das klappt um es schon einmal vorweg zu nehmen wirklich ganz einfach und ohne Probleme.
Hinweis Hardware: So wie ich das Projekt verstanden habe wird zwingend eine NVIDIA GPU benötigt mit mindestens 12GB Ram. Die CPU und der Systemspeicher sollten nicht zu knapp bemessen sein aber werden für dieses Projekt nicht sonderlich in Anspruch genommen. Die Beschreibung von meinem System das ich für dieses Projekt verwende findet ihr hier: Deep Learning PC.
Hinweis MIFCOM Deep Learning PC: Wer einen fertig aufgebauten PC kaufen möchte ohne selber zu schrauben wird sicher bei der Münchner Firma MIFCOM fündig die sehr hochwertige und leistungsstarke Rechner für das weite Feld der künstlichen Intelligenz auch nach individuellen Anforderungen fertigt. Aus meinem Berufsleben heraus habe ich mit der Firma MIFCOM sehr gute Erfahrungen gemacht und schätze die hohe Qualität im Aufbau der Rechner sowie den sehr guten Service.
Zeitaufwand Installation (30 bis 40 Minuten)
Ich möchte noch kurz eine Abschätzung des Zeitaufwandes geben. Je nach Internetanbindung benötigt die Installation von AUTOMATIC1111 gute 30 bis 40 Minuten und es werden 9GB an Plattenplatz belegt. Zusätzlich zu den 9 GB Speicherplatz kommt noch der Platzbedarf hinzu für die verschiedenen trainierten Modelle die noch benötigt werden um Bilder generieren zu können. So waren bei mir nach ein paar Abenden gute 50GB Platz nur für Modelle belegt die auch ausprobiert habe. Während die Installation läuft muss man nicht vor dem Rechner sitzen. Im Prinzip läuft die Installation voll automatisch ab ohne dass der Anwender noch etwas dazu beitragen muss.
Vorbereitung virtuelle Umgebung, Treiber und Co.
Wie ich eingangs geschrieben habe wurde von mir für diesen Bericht ein frisch aufgesetztes Ubuntu 22.04 System verwendet. Es macht bei solchen Projekten immer Sinn diese in einer virtuellen Umgebung zu installieren. Das ist zwar Optional aber ich empfehle es so vorzugehen. Ich musste auch alle Treiber von NVIDIA installieren sowie CUDA um Stable Diffusion mit GPU Unterstützung zum Laufen zu bekommen. Daher jetzt hier meine Beschreibung welche Vorbereitungen ich getroffen habe.
Anaconda einrichten
Da ich alles in einer virtuellen Anaconda Umgebung installiere um hier auch immer wieder diese Umgebungen einfach löschen also zurücksetzen zu können ohne mein Ubuntu System selber zu verändern hier die Befehle um eine virtuelle Umgebung mit dem Namen stable-diffusion aufzusetzen. Zunächst einmal schaut ihr welche Anaconda Version für euer Linux System die richtige und vor allem aktuelle ist. Dazu öffnet ihr hier den folgenden Link.
URL: https://repo.anaconda.com/archive/
Im April 2023 war es bei mir die Version des Installation Skriptes Anaconda3-2023.03-Linux-x86_64.sh welches die nachfolgende URL hat. Die aktuelle für euch passende URL müsst ihr jetzt einmal in die Zwischenablage kopieren. Diese brauchen wir dann später noch für die Installation.
URL: https://repo.anaconda.com/archive/Anaconda3-2023.03-Linux-x86_64.sh
Jetzt einmal das System mit dem folgenden Befehl auf den aktuellen Stand bringen.
Befehl: sudo apt-get update
Dann bitte curl installieren da wir curl brauchen um das Installation Skript herunter zu laden und auszuführen.
Befehl: sudo apt install curl -y
Ich habe mir dann einen Arbeitsordner mit den beiden folgenden Befehlen angelegt und bin auch direkt in diesen im Terminal Fenster gewechselt.
Befehl: mkdir anaconda
Befehl: cd anaconda
Jetzt im Arbeitsordner anaconda den folgenden Befehl ausführen. Hier müsst ihr die URL zu dem Installation Skript bitte einfügen. Diese hattet ihr euch zuvor in die Zwischenablage kopiert.
Befehl: curl --output anaconda.sh https://repo.anaconda.com/archive/Anaconda3-2023.03-Linux-x86_64.sh
Jetzt könnt ihr noch die Checksumme von dem Script erzeugen und mit der Angabe auf der Anaconda Archivseite vergleichen. So stellt ihr einigermaßen sicher das richtige Script auszuführen für die Installation.
Befehl: sha256sum anaconda.sh
Die Installation startet ihr jetzt mit dem folgenden Befehl. Im Anschluss ist Anaconda dann auf eurem System installiert.
Befehl: bash anaconda.sh
Ihr müsst ein paarmal YES angeben und zum Schluss würde ich einmal No vorschlagen bei der Abfrage ob immer die Anaconda Umgebung starten soll. Habt ihr alle Fragen mit YES beantwortet könnt ihr mit dem nachfolgenden optionalen Befehl dann das automatische Starten der Anaconda Umgebung wieder deaktivieren.
Befehl optional: conda config --set auto_activate_base false
Viele der Befehle um Anaconda bedienen zu können sind in dem folgenden PDF zusammen gefasst. Das hilft zu Beginn sicher sehr gut weiter Anaconda als Software bedienen zu können.
URL: conda-cheatsheet.pdf
Zunächst muss einmal conda aktiviert werden. Möchte man dazu den Rechner nicht neustarten dann bitte den folgenden Befehl ausführen.
Befehl: source ~/anaconda3/bin/activate
Jetzt legt ihr mit dem folgenden Befehl eine virtuelle Umgebung mit dem Namen „stable-diffusion“ an. In dieser werden wir jetzt alles installieren.
Befehl: conda create --name stable-diffusion
Diese Umgebung startet ihr wiederum mit dem folgenden Befehl.
Befehl: conda activate stable-diffusion
Möchtet ihr heraus gehen aus der virtuellen Umgebung dann nutzt diesen Befehl um Anaconda zu beenden.
Befehl: conda deactivate
Jetzt habt ihr die virtuelle Umgebung am Laufen und könnt in dieser Treiber installieren und machen was ihr wollt ohne die eigentliche Ubuntu Umgebung mit eurem Handeln zu beeinflussen.
CUDA und Treiber von NVIDIA
Ich habe die Installation auf einem komplett frisch aufgesetzten Ubuntu 22.04 vorgenommen. Daher habe ich auch die notwendigen NVIDIA Treiber installieren müssen. Ich habe über den Softwaremanager von Ubuntu die NVIDIA Treiber für meine Grafikkarte installiert. Das klappt super und ist ganz einfach. Im Anschluss habe ich in der virtuellen Anaconda Umgebung CUDA 11.7 installiert. Wenn ihr das gleiche Vorgehen wählt dann folgt am besten der NVIDIA Anleitung hier um die 11.7 CUDA Unterstützung unter Ubuntu 22.04 zu installieren:
Hinweis: Ende April hatte ich noch Probleme AUTOMATIC1111 mit CUDA 12.1.1 zum Laufen zu bekommen. Daher empfehle ich die etwas ältere CUDA Version 11.7 zu verwenden. Mit dieser gibt es dann beim Finetuning mit Dreambooth auch weniger Probleme. Sobald alles ohne Probleme mit der neuen 12.X Version läuft aktualisiere ich meine Anleitung hier (Stand: 2023.05.01)
Hier der Link auf das CUDA Archive bei NVIDIA um auch lätere Versionen installieren zu können.
URL: Deb Network Archive
Nachfolgend der Link auf die CUDA 11.7 Version die bei mir gut funktioniert hat und die ich auch für meine Anleitung hier verwendet habe.
Jetzt ist alles soweit eingerichtet und die Installation von AUTOMATIC1111 kann starten. Mehr dazu dann im zweiten Teil der Installationsanleitung.
Artikelübersicht - Stable Diffusion:
Stable Diffusion - AUTOMATIC1111 Ubuntu Installation Teil 1/2Stable Diffusion - AUTOMATIC1111 Ubuntu Installation Teil 2/2
Stable Diffusion - Bilder lokal generieren mit Prompt Beispielen
Stable Diffusion - AUTOMATIC1111 Experten Konfiguration
Stable Diffusion - Dreambooth Training Finetuning einrichten Teil 1/2
Stable Diffusion - Dreambooth Training Finetuning ausführen Teil 2/2
Hallo, ich habe ihre Anleitung befolgt und bekomme im letzten Schritt leider immer folgende Meldung im Terminal: bash <(wget -qO-…
Hi Dennis, vielen Dank für den Hinweis, ich habe die URLs angepasst so das diese wieder gehen. Ich bin gespannt…
Ich weiss, es ist noch im Aufbau. Aber hier ist ein Broken Link: https://www.ai-box.eu/smurf_training_data_small.zip Freue mich drauf, die ganze Serie…