Stable Diffusion End-to-End-Leitfaden – Vom Anfänger zum Experten
Ich begann mich für die Verwendung von SD zur Generierung von Bildern für militärische Anwendungen zu interessieren. Die meisten Ressourcen stammen von den NSFW-Boards von 4chan, da Anons SD verwenden, um Hentai zu erstellen. Interessanterweise verfügt die kanonische SD-WebUI über eine integrierte Funktionalität mit Anime-/Hentai-Bildtafeln ... Einer der ersten Anwendungsfälle von SD direkt nach der Generierung von Anime-Girls durch DALL-E, daher ist der Sprung zu Hentai nicht überraschend.
Wie auch immer, die Techniken dieser Verrückten sind auf eine Vielzahl von Anwendungen anwendbar, insbesondere auf LoRAs, die wie Modell-Feinabstimmungsgeräte sind. Die Idee besteht darin, mit bestimmten LoRAs (z. B. Militärfahrzeugen, Flugzeugen, Waffen usw.) zusammenzuarbeiten, um synthetische Bilddaten für das Training von Sehmodellen zu generieren. Interessant ist auch das Training neuer, nützlicher LoRAs. Zu späteren Arbeiten kann das Inpainting für Störungen gehören.
Haftungsausschluss und Quellen
Every link here may contain NSFW content, as most of the cutting-edge work on SD and LoRAs is with porn or hentai. So, please be wary when you are working with these resources. ALSO, Rentry.org pages are the main resources linked to in this guide. If any of the rentry pages do not work, change the .org to .co and the link should work. Otherwise, use the Wayback machine.
-TP
Spielen Sie damit!
Was kann man eigentlich mit SD machen? Huggingface und einige andere haben einige Apps für Sie im Browser. Spielen Sie mit ihnen herum, um die Kraft zu sehen! Was wir in diesem Handbuch tun werden, ist, die vollständige, erweiterbare WebUI zu erhalten, damit wir alles tun können, was wir wollen.
- Huggingface Text to Image SD Playground
- Dreamstudio Text-to-Image-SD-App
- Dezgo Text-to-Image-SD-App
- Huggingface Bild-zu-Bild-SD-Spielplatz
- Huggingface Inpainting Spielplatz
Inhaltsverzeichnis
- WebUI-Grundlagen
- Richten Sie die lokale GPU-Nutzung ein
- Linux-Setup
- Tiefer gehen
- Aufforderung
- NovelAI-Modell
- LoRA
- Mit Models spielen
- VAEs
- Fügen Sie alles zusammen
- Der allgemeine SD-Prozess
- Eingabeaufforderungen speichern
- txt2img-Einstellungen
- Regenerieren eines zuvor generierten Bildes
- Fehlerbehebung
- Machen Sie es sich bequem
- Testen
- WebUI Advanced
- Prompte Bearbeitung
- Xformer
- Img2Img
- Inpainting
- Extras
- Kontrollnetze
- Neue Sachen machen (WIP)
- Checkpoint-Fusion
- LoRAs trainieren
- Neue Modelle trainieren
- Google Colab-Setup (WIP)
- Mitten in der Reise
- MJ-Parameter
- Erweiterte MJ-Eingabeaufforderungen
- DreamStudio (WIP)
- Stabile Horde (WIP)
- DreamBooth (WIP)
- Videoverbreitung (WIP)
WebUI-Grundlagen
Es ist etwas entmutigend, sich darauf einzulassen ... aber 4channers hat gute Arbeit geleistet, um dies zugänglich zu machen. Im Folgenden sind die Schritte, die ich unternommen habe, im einfachsten Sinne aufgeführt. Ihr Ziel ist es, die Stable Diffusion WebUI (erstellt mit Gradio) lokal zum Laufen zu bringen, damit Sie mit der Eingabeaufforderung und der Erstellung von Bildern beginnen können.
Richten Sie die lokale GPU-Nutzung ein
Wir werden Google Colab Pro später einrichten, damit wir SD auf jedem Gerät ausführen können, wo immer wir wollen; Aber zunächst einmal beginnen wir mit dem WebUI-Setup auf einem PC. Sie benötigen 16 GB RAM, eine GPU mit 2 GB VRAM, Windows 7+ und 20+ GB Festplattenspeicher.
- Beenden Sie die Anleitung zur Ersteinrichtung
- Ich habe dies bis Schritt 7 befolgt, danach gehe ich zum Hentai-Zeug über
- Schritt 3 dauert bei durchschnittlicher Internetgeschwindigkeit 15–45 Minuten, da die Modelle jeweils über 5 GB verfügen
- Schritt 7 kann mehr als eine halbe Stunde dauern und scheint in der CLI „hängenzubleiben“.
- In Schritt 3 habe ich SD1.5 heruntergeladen, nicht die 2.x-Versionen, da 1.5 viel bessere Ergebnisse liefert
- CivitAI verfügt über alle SD-Modelle; Es ist wie HuggingFace, aber speziell für SD
- Stellen Sie sicher, dass die WebUI funktioniert
- Kopieren Sie die URL, die die CLI ausgibt, wenn Sie fertig sind, z. B.
127.0.0.1:7860
(verwenden Sie NICHT Strg + C, da dieser Befehl die CLI schließen kann) - In den Browser einfügen und voilà; Versuchen Sie es mit einer Eingabeaufforderung und schon geht es los mit den Rennen
- Bilder werden bei der Generierung automatisch unter
stable-diffusion-webuioutputstxt2img-images
gespeichert
- Denken Sie daran, zum Aktualisieren einfach eine CLI im Ordner „stable-diffusion-webui“ zu öffnen und den Befehl
git pull
einzugeben
Linux-Setup
Ignorieren Sie dies vollständig, wenn Sie Windows haben. Ich habe es auch geschafft, es unter Linux zum Laufen zu bringen, obwohl es etwas komplizierter ist. Ich habe damit begonnen, dieser Anleitung zu folgen, aber sie ist ziemlich dürftig geschrieben. Im Folgenden sind die Schritte aufgeführt, die ich unternommen habe, um sie unter Linux zum Laufen zu bringen. Ich habe Linux Mint 20 verwendet, eine Ubuntu 20-Distribution.
- Beginnen Sie mit dem Klonen des Webui-Repos:
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
- Besorgen Sie sich ein SD-Modell (z. B. SD 1.5, wie im vorherigen Abschnitt)
- Legen Sie die Modell-CKPT-Datei in
stable-diffusion-webui/models/Stable-diffusion
- Laden Sie Python herunter (falls Sie es noch nicht haben):
sudo apt install python3 python3-pip python3-virtualenv wget git
- Und die WebUI ist sehr speziell, daher müssen wir Conda, einen Manager für virtuelle Umgebungen, installieren, um darin arbeiten zu können:
wget https://repo.anaconda.com/miniconda/Minconda3-latest-Linux-x86_64.sh
chmod +x Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
- Erstellen Sie nun die Umgebung:
conda create --name sdwebui python=3.10.6
- Aktivieren Sie die Umgebung:
conda activate sdwebui
- Navigieren Sie zu Ihrem WebUI-Ordner und geben Sie
./webui.sh
ein - Es sollte eine Weile ausgeführt werden, bis Sie eine Fehlermeldung erhalten, dass Sie nicht auf CUDA/Ihre GPU zugreifen können... das ist in Ordnung, denn es ist unser nächster Schritt
- Löschen Sie zunächst alle vorhandenen Nvidia-Treiber:
sudo apt update
sudo apt purge *nvidia*
- Befolgen Sie nun einige Teile dieser Anleitung und finden Sie heraus, über welche GPU Ihr Linux-Computer verfügt (der einfachste Weg, dies zu tun, besteht darin, die Treiber-Manager-App zu öffnen und Ihre GPU wird aufgelistet; es gibt aber ein Dutzend Möglichkeiten, googeln Sie sie einfach).
- Gehen Sie zu dieser Seite und klicken Sie unter Linux x86_64 auf den Zweig „Neueste neue Funktion“ (bei mir war es 530.xx.xx).
- Klicken Sie auf die Registerkarte „Unterstützte Produkte“ und drücken Sie Strg + F, um Ihre GPU zu finden. Wenn es aufgeführt ist, fahren Sie fort, andernfalls gehen Sie zurück und versuchen Sie es mit „Neueste Produktionszweigversion“; Notieren Sie sich die Nummer, z. B. 530
- Geben Sie in einem Terminal Folgendes ein:
sudo add-apt-repository ppa:graphics-drivers/ppa
- Aktualisieren Sie mit
sudo apt-get update
- Starten Sie die Treiber-Manager-App und Sie sollten eine Liste davon sehen; Wählen Sie NICHT das empfohlene aus (z. B. nvidia-driver-530-open), wählen Sie genau das von zuvor aus (z. B. nvidia-driver-530) und übernehmen Sie die Änderungen. ODER installieren Sie es im Terminal mit
sudo apt-get install nvidia-driver-530
- AN DIESEM PUNKT sollten Sie über Ihre CLI ein Popup-Fenster zum Thema „Secure Boot“ erhalten, in dem Sie nach einem 8-stelligen Passwort gefragt werden: Legen Sie es fest und notieren Sie es
- Starten Sie Ihren PC neu und vor Ihrer Verschlüsselung/Benutzeranmeldung sollte ein BIOS-ähnlicher Bildschirm (ich schreibe dies aus dem Gedächtnis) mit der Option zur Eingabe eines MOK-Schlüssels angezeigt werden; Klicken Sie darauf und geben Sie Ihr Passwort ein, dann senden Sie es ab und starten Sie; ein paar Infos hier
- Melden Sie sich wie gewohnt an und geben Sie den Befehl
nvidia-smi
ein; Bei Erfolg sollte eine Tabelle gedruckt werden. Wenn nicht, wird etwa Folgendes angezeigt: „Es konnte keine Verbindung zur GPU hergestellt werden. Bitte stellen Sie sicher, dass der aktuellste Treiber installiert ist.“ - Jetzt installieren Sie CUDA (der letzte Befehl hier sollte einige Informationen über Ihre neue CUDA-Installation ausgeben); aus dieser Anleitung:
sudo apt update
sudo apt install apt-transport-https ca-certificates gnupg
sudo apt install nvidia-cuda-toolkit
nvcc-version
- Gehen Sie nun zurück und führen Sie die Schritte 7 bis 9 aus. Wenn Sie die Meldung „FEHLER: Python venv kann nicht aktiviert werden, wird abgebrochen …“ erhalten, fahren Sie mit dem nächsten Schritt fort (andernfalls sind Sie auf dem Weg zu den Rennen und kopieren die IP-Adresse wie gewohnt von der CLI und können mit dem Spielen mit SD beginnen).
- Dieses Github-Problem enthält einige Fehlerbehebungen für dieses Venv-Problem. Bei mir hat das Laufen funktioniert
python3 -c 'import venv'
python3 -m venv venv/
Gehen Sie dann zum Ordner /stable-diffusion-webui
und führen Sie Folgendes aus:
rm -rf venv/
python3 -m venv venv/
Danach hat es bei mir funktioniert.
Tiefer gehen
- Informieren Sie sich über Aufforderungstechniken, denn es gibt viel zu wissen (z. B. positive Aufforderung vs. negative Aufforderung, Stichprobenschritte, Stichprobenmethode usw.).
- OpenArt Promptbook-Leitfaden
- Definitiver SD-Eingabeleitfaden
- Eine prägnante Anleitung
- Tipps zur 4chan-Eingabeaufforderung (NSFW)
- Sammlung von Eingabeaufforderungen und Bildern
- Schritt-für-Schritt-Anleitung zur Anleitung für Anime-Mädchen
- Informieren Sie sich über SD-Wissen im Allgemeinen:
- Wegweisende stabile Diffusionspublikation
- CompVis / Stability AI Github (Heimat der ursprünglichen SD-Modelle)
- Stable Diffusion Compendium (gute externe Ressource)
- Stable Diffusion Links Hub (unglaubliche 4chan-Ressource)
- Stabile Diffusionsgoldmine
- Vereinfachtes SD Goldmine
- Zufällig/Verschiedenes. SD-Links
- FAQ (NSFW)
- Noch eine FAQ
- Treten Sie dem Stable Diffusion Discord bei
- Bleiben Sie mit den Neuigkeiten von Stable Diffsion auf dem Laufenden
- Wussten Sie, dass ab März 2023 ein Text-zu-Video-Diffusionsmodell mit 1,7 Milliarden Parametern verfügbar ist?
- Spielen Sie in der WebUI herum, spielen Sie mit verschiedenen Modellen, Einstellungen usw.
Aufforderung
Die Reihenfolge der Wörter in einer Eingabeaufforderung hat Auswirkungen: Frühere Wörter haben Vorrang. Die allgemeine Struktur einer guten Eingabeaufforderung, von hier aus:
Und ein anderer guter Leitfaden besagt, dass die Eingabeaufforderung dieser Struktur folgen sollte: