So führen Sie Stable Diffusion lokal mit einer GUI unter Windows aus
Veröffentlicht: 2022-09-18Sie können Stable Diffusion lokal auf Ihrem PC installieren, aber der typische Prozess erfordert viel Arbeit mit der Befehlszeile für die Installation und Verwendung. Glücklicherweise hat die Stable Diffusion-Community dieses Problem gelöst. So installieren Sie eine Version von Stable Diffusion, die lokal mit einer grafischen Benutzeroberfläche ausgeführt wird!
Was ist stabile Diffusion?
Was benötigen Sie, um diese Version von Stable Diffusion auszuführen?
So installieren Sie Stable Diffusion mit einer GUI
Installieren Sie zuerst Python
Installieren Sie Git und laden Sie das GitHub-Repo herunter
Laden Sie alle Checkpoints herunter
So erzeugen Sie Bilder mit stabiler Diffusion mit einer GUI
So maskieren Sie von Ihnen erstellte Bilder zum Inpainten
So beheben Sie den Fehler „CUDA Out Of Memory“.
Was ist stabile Diffusion?
Stable Diffusion ist ein KI-Modell, das Bilder aus Textaufforderungen generieren oder vorhandene Bilder mit einer Textaufforderung ändern kann, ähnlich wie MidJourney oder DALL-E 2. Es wurde erstmals im August 2022 von Stability.ai veröffentlicht. Es versteht Tausende von verschiedenen Wörtern und kann verwendet werden, um fast jedes Bild zu erstellen, das Sie sich in fast jedem Stil vorstellen können.
Es gibt jedoch zwei entscheidende Unterschiede, die Stable Diffusion von den meisten anderen beliebten KI-Kunstgeneratoren unterscheiden:
- Es kann lokal auf Ihrem PC ausgeführt werden
- Es ist ein Open-Source-Projekt
Der letzte Punkt ist hier wirklich das Wichtigste. Traditionell wird Stable Diffusion über eine Befehlszeilenschnittstelle installiert und ausgeführt. Es funktioniert, aber es kann klobig und unintuitiv sein, und es ist eine erhebliche Eintrittsbarriere für Leute, die ansonsten interessiert wären. Da es sich jedoch um ein Open-Source-Projekt handelt, erstellte die Community schnell eine Benutzeroberfläche dafür und begann, ihre eigenen Erweiterungen hinzuzufügen, einschließlich Optimierungen zur Minimierung der Video-RAM-Nutzung (VRAM) und zum Einbau von Hochskalierung und Maskierung.
Was benötigen Sie, um diese Version von Stable Diffusion auszuführen?
Diese Version von Stable Diffusion ist ein Fork – ein Ableger – des Hauptrepositorys (Repo), das von Stability.ai erstellt und verwaltet wird. Es verfügt über eine grafische Benutzeroberfläche (GUI) – die es einfacher zu verwenden macht als die reguläre Stable Diffusion, die nur über eine Befehlszeilenschnittstelle verfügt – und ein Installationsprogramm, das den größten Teil der Einrichtung automatisch durchführt.
RELATED: So führen Sie Stable Diffusion auf Ihrem PC aus, um KI-Bilder zu generieren
Warnung: Seien Sie wie immer vorsichtig mit Software-Forks von Drittanbietern, die Sie auf GitHub finden. Wir verwenden dies seit einiger Zeit ohne Probleme, ebenso wie Tausende andere, daher neigen wir dazu zu sagen, dass es sicher ist. Glücklicherweise sind der Code und die Änderungen hier klein im Vergleich zu einigen Forks von Open-Source-Projekten.
Dieser Fork enthält auch verschiedene Optimierungen, die es ermöglichen sollten, auf PCs mit weniger RAM, integrierten Upscaling- und Gesichtsfunktionen mit GFPGAN, ESRGAN, RealESRGAN und CodeFormer sowie Maskierung zu laufen. Das Maskieren ist eine große Sache – es ermöglicht Ihnen, die KI-Bilderzeugung selektiv auf bestimmte Teile des Bildes anzuwenden, ohne andere Teile zu verzerren, ein Vorgang, der normalerweise als Inpainting bezeichnet wird.
- Mindestens 10 Gigabyte frei auf Ihrer Festplatte
- Eine NVIDIA-GPU mit 6 GB RAM (obwohl Sie möglicherweise 4 GB zum Laufen bringen können)
- Ein PC mit Windows 11, Windows 10, Windows 8.1 oder Windows 8
- Das WebUI-GitHub-Repository von AUTOMATIC1111
- Python 3.10.6 (Neuere Versionen und die meisten älteren Versionen sollten auch in Ordnung sein)
- Die offiziellen Checkpoints der Stable Diffusion (achten Sie Ende September auf die v1.5-Checkpoints!)
- Die GFPGAN v1.3 Checkpoints (v1.4 könnte auch funktionieren)
- Eventuell gewünschte zusätzliche ESRGAN-Modelle. Sie können so viele oder wenige verwenden, wie Sie möchten.
So installieren Sie Stable Diffusion mit einer GUI
Der Installationsprozess wurde erheblich vereinfacht, aber Sie müssen noch einige Schritte manuell ausführen, bevor das Installationsprogramm verwendet werden kann.
Installieren Sie zuerst Python
Als erstes sollten Sie die vom Autor des Repos empfohlene Python-Version 3.10.6 installieren. Gehen Sie zu diesem Link, scrollen Sie zum Ende der Seite und klicken Sie auf „Windows Installer (64-Bit)“.
Klicken Sie auf die heruntergeladene ausführbare Datei und gehen Sie die Eingabeaufforderungen durch. Wenn Sie Python bereits installiert haben (und das tun Sie ganz sicher), klicken Sie einfach auf „Upgrade“. Folgen Sie andernfalls den empfohlenen Eingabeaufforderungen.
Hinweis: Stellen Sie sicher, dass Sie Python 3.10.6 zum PATH hinzufügen, wenn Sie eine Option dafür erhalten.
Installieren Sie Git und laden Sie das GitHub-Repo herunter
Sie müssen Git unter Windows herunterladen und installieren, bevor das Stable Diffusion-Installationsprogramm ausgeführt werden kann. Laden Sie einfach die ausführbare 64-Bit-Git-Datei herunter, führen Sie sie aus und verwenden Sie die empfohlenen Einstellungen, es sei denn, Sie haben etwas Bestimmtes im Sinn.
VERWANDT: So installieren Sie Git unter Windows
Als nächstes müssen Sie die Dateien aus dem GitHub-Repo herunterladen. Klicken Sie auf die grüne Schaltfläche „Code“ und dann unten im Menü auf „ZIP herunterladen“.
Öffnen Sie die ZIP-Datei im Datei-Explorer oder Ihrem bevorzugten Dateiarchivierungsprogramm und extrahieren Sie den Inhalt an einer beliebigen Stelle. Denken Sie nur daran, dass Sie in diesen Ordner gehen müssen, um Stable Diffusion auszuführen. In diesem Beispiel wurden sie in das Verzeichnis C:\ extrahiert, aber das ist nicht unbedingt erforderlich.
Hinweis: Stellen Sie sicher, dass Sie „stable-diffusion-webui-master“ nicht versehentlich in einen anderen Ordner anstatt in einen leeren Bereich ziehen – wenn Sie dies tun, wird es in diesem Ordner abgelegt, nicht in dem beabsichtigten übergeordneten Ordner.
Laden Sie alle Checkpoints herunter
Es gibt ein paar Kontrollpunkte, die Sie benötigen, damit dies funktioniert. Die ersten und wichtigsten sind die Stable Diffusion Checkpoints. Sie müssen ein Konto erstellen, um die Checkpoints herunterzuladen, aber für das Konto ist nicht viel erforderlich – alles, was sie brauchen, ist ein Name und eine E-Mail-Adresse, und schon kann es losgehen.
Hinweis: Der Checkpoints-Download umfasst mehrere Gigabyte. Erwarten Sie nicht, dass es sofort erledigt wird.
Kopieren und fügen Sie „sd-v1-4.ckpt“ in den Ordner „stable-diffusion-webui-master“ aus dem vorherigen Abschnitt ein, klicken Sie dann mit der rechten Maustaste auf „sd-v1-4.ckpt“ und klicken Sie auf „Umbenennen“. Geben Sie „model.ckpt“ in das Textfeld ein und drücken Sie die Eingabetaste. Stellen Sie sicher, dass es sich um „model.ckpt“ handelt – sonst funktioniert dies nicht.
Hinweis: Die Umbenennungsfunktion ist ein Symbol unter Windows 11.
Sie müssen auch die GFPGAN-Checkpoints herunterladen. Der Autor des Repos, das wir verwenden, forderte GFPGAN v1.3-Checkpoints, aber Sie können möglicherweise v1.4 verwenden, wenn Sie es ausprobieren möchten. Scrollen Sie auf der Seite nach unten und klicken Sie dann auf „V1.3-Modell“.
Legen Sie diese Datei „GFPGANv1.3.pth“ im Ordner „stable-diffusion-webui-master“ ab, genau wie Sie es mit der Datei „sd-v1-4.ckpt“ getan haben, aber benennen Sie sie nicht um. Der Ordner „stable-diffusion-webui-master“ sollte nun diese Dateien enthalten:
Sie können auch so viele ESRGAN-Checkpoints herunterladen, wie Sie möchten. Sie werden normalerweise als ZIP-Dateien verpackt geliefert. Öffnen Sie nach dem Herunterladen die ZIP-Datei und extrahieren Sie die „.pth“-Datei in den Ordner „ESRGAN“. Hier ist ein Beispiel:
ESRGAN-Modelle bieten in der Regel spezifischere Funktionen, also wählen Sie ein Paar aus, das Sie anspricht.
Jetzt müssen Sie nur noch auf die Datei „webui-user.bat“ doppelklicken, die sich im primären Ordner „stable-diffusion-webui-master“ befindet. Ein Konsolenfenster wird angezeigt und beginnt mit dem Abrufen aller anderen wichtigen Dateien, dem Erstellen einer Python-Umgebung und dem Einrichten einer Web-Benutzeroberfläche. Es wird so aussehen:
Hinweis: Erwarten Sie, dass das erste Mal, wenn Sie dies ausführen, mindestens ein paar Minuten dauern wird. Es muss eine Menge Zeug aus dem Internet herunterladen. Wenn es bei einem Schritt unangemessen lange zu hängen scheint, versuchen Sie einfach, das Konsolenfenster auszuwählen und die Eingabetaste zu drücken.
Wenn es fertig ist, zeigt die Konsole Folgendes an:
Läuft auf lokaler URL: http://127.0.0.1:7860 Um einen öffentlichen Link zu erstellen, setzen Sie `share=True` in `launch()`
VERWANDT: Was ist die IP-Adresse 127.0.0.1 und wie verwenden Sie sie?
So erzeugen Sie Bilder mit stabiler Diffusion mit einer GUI
In Ordnung, Sie haben die WebUI-Variante von Stable Diffusion installiert und Ihre Konsole teilt Ihnen mit, dass sie „auf der lokalen URL ausgeführt wird: http://127.0.0.1:7860“.
Hinweis: Was genau bedeutet das, was passiert? 127.0.0.1 ist die Localhost-Adresse – die IP-Adresse, die Ihr Computer sich selbst gibt. Diese Version von Stable Diffusion erstellt einen Server auf Ihrem lokalen PC, der über seine eigene IP-Adresse erreichbar ist, aber nur, wenn Sie sich über den richtigen Port verbinden: 7860.
Öffnen Sie Ihren Browser, geben Sie „127.0.0.1:7860“ oder „localhost:7860“ in die Adressleiste ein und drücken Sie die Eingabetaste. Sie sehen dies auf der Registerkarte txt2img:
Wenn Sie Stable Diffusion schon einmal verwendet haben, werden Ihnen diese Einstellungen vertraut sein, aber hier ist ein kurzer Überblick darüber, was die wichtigsten Optionen bedeuten:
- Eingabeaufforderung: Die Beschreibung dessen, was Sie erstellen möchten.
- Roll-Taste: Wendet einen zufälligen künstlerischen Stil auf Ihre Eingabeaufforderung an.
- Sampling-Schritte: Wie oft das Bild verfeinert wird, bevor Sie eine Ausgabe erhalten. Mehr ist im Allgemeinen besser, aber es gibt abnehmende Renditen.
- Sampling-Methode: Die zugrunde liegende Mathematik, die bestimmt, wie Sampling gehandhabt wird. Sie können jede davon verwenden, aber euler_a und PLMS scheinen die beliebtesten Optionen zu sein. In diesem Whitepaper können Sie mehr über PLMS lesen.
- Gesichter wiederherstellen: Verwendet GFPGAN, um zu versuchen, unheimliche oder verzerrte Gesichter zu reparieren.
- Batch Count: Die Anzahl der zu generierenden Bilder.
- Chargengröße : Die Anzahl der „Batches“. Belassen Sie dies auf 1, es sei denn, Sie haben eine enorme Menge an VRAM.
- CFG-Skala: Wie sorgfältig Stable Diffusion der Aufforderung folgt, die Sie ihm geben. Größere Zahlen bedeuten, dass es ihm sehr sorgfältig folgt, während niedrigere Zahlen ihm mehr kreative Freiheit geben.
- Breite: Die Breite des Bildes, das Sie generieren möchten.
- Höhe: Die Breite des Bildes, das Sie generieren möchten.
- Seed: Die Zahl, die eine anfängliche Eingabe für einen Zufallszahlengenerator liefert. Belassen Sie es bei -1, um zufällig einen neuen Seed zu generieren.
Lassen Sie uns basierend auf der Eingabeaufforderung fünf Bilder generieren: „eine Hochlandkuh in einem magischen Wald, 35-mm-Filmfotografie, scharf“ und sehen, was wir mit dem PLMS-Sampler, 50 Abtastschritten und einer CFG-Skala von 5 erhalten.
Tipp: Sie können jederzeit auf die Schaltfläche „Unterbrechen“ klicken, um die Generierung zu stoppen, wenn Ihr Job zu lange dauert.
Das Ausgabefenster sieht folgendermaßen aus:
Hinweis: Ihre Bilder werden anders sein.
Das Bild oben in der Mitte ist dasjenige, das wir verwenden werden, um es etwas später zum Maskieren auszuprobieren. Es gibt eigentlich keinen anderen Grund für diese spezielle Wahl als persönliche Vorlieben. Schnappen Sie sich ein beliebiges Bild.
Wählen Sie es aus und klicken Sie dann auf „An Inpaint senden“.
So maskieren Sie von Ihnen erstellte Bilder zum Inpainten
Inpainting ist eine fantastische Funktion. Normalerweise wird Stable Diffusion verwendet, um ganze Bilder aus einer Eingabeaufforderung zu erstellen, aber Inpainting ermöglicht es Ihnen, Teile des Bildes selektiv zu generieren (oder neu zu generieren). Hier gibt es zwei kritische Optionen: inpaint masked, inpaint not masked.
Inpaint masked verwendet die Eingabeaufforderung, um Bilder innerhalb des markierten Bereichs zu erzeugen, während Inpaint not masked genau das Gegenteil bewirkt – nur der maskierte Bereich bleibt erhalten.
Wir werden zuerst ein wenig über maskiertes Inpaint berichten. Ziehen Sie Ihre Maus über das Bild, halten Sie die linke Maustaste gedrückt und Sie werden eine weiße Ebene bemerken, die über Ihrem Bild erscheint. Zeichne die Form des Bereichs, den du ersetzen möchtest, und achte darauf, ihn vollständig auszufüllen. Sie umkreisen keine Region, Sie maskieren die gesamte Region.
Tipp: Wenn Sie nur etwas zu einem vorhandenen Bild hinzufügen, kann es hilfreich sein, zu versuchen, den maskierten Bereich an der ungefähren Form auszurichten, die Sie erstellen möchten. Das Maskieren einer dreieckigen Form, wenn Sie beispielsweise einen Kreis wünschen, ist kontraproduktiv.
Nehmen wir unser Beispiel einer Hochlandkuh und geben ihm eine Kochmütze. Maskieren Sie einen Bereich in etwa der Form einer Kochmütze und stellen Sie sicher, dass Sie „Batch Size“ auf mehr als 1 einstellen. Sie werden wahrscheinlich mehrere benötigen, um ein ideales (ähnliches) Ergebnis zu erzielen.
Außerdem sollten Sie „Latentes Rauschen“ statt „Füllen“, „Original“ oder „Latentes Nichts“ auswählen. Es liefert in der Regel die besten Ergebnisse, wenn Sie ein völlig neues Objekt in einer Szene erzeugen möchten.
Hinweis: Sie werden feststellen, dass am linken Rand des Hutes ein Teil seines Horns entfernt wurde. Das geschah, weil die Einstellung „Mask Blur“ etwas zu hoch war. Wenn Sie solche Dinge in Ihren Bildern sehen, versuchen Sie, den Wert für „Maskenunschärfe“ zu verringern.
In Ordnung – vielleicht ist eine Kochmütze nicht die richtige Wahl für Ihre Hochlandkuh. Ihre Hochlandkuh steht eher auf die Vibes des frühen 20. Jahrhunderts, also geben wir ihr eine Melone.
Wie positiv adrett.
Natürlich können Sie mit Inpaint Not Masked auch genau das Gegenteil tun. Es ist konzeptionell ähnlich, außer dass die von Ihnen definierten Regionen umgekehrt sind. Anstatt den Bereich zu markieren, den Sie ändern möchten, markieren Sie die Bereiche, die Sie beibehalten möchten. Es ist oft nützlich, wenn Sie ein kleines Objekt auf einen anderen Hintergrund verschieben möchten.
So beheben Sie den Fehler „CUDA Out of Memory“.
Je größer das erstellte Bild ist, desto mehr Videospeicher wird benötigt. Als erstes sollten Sie versuchen, kleinere Bilder zu erzeugen. Stabile Diffusion erzeugt gute – wenn auch sehr unterschiedliche – Bilder bei 256×256.
Wenn Sie unbedingt größere Bilder auf einem Computer erstellen möchten, der keine Probleme mit 512 × 512-Bildern hat, oder Sie auf verschiedene „Speichermangel“-Fehler stoßen, gibt es einige Änderungen an der Konfiguration, die helfen sollten.
Öffnen Sie „webui-user.bat“ in Notepad oder einem anderen beliebigen Texteditor. Klicken Sie einfach mit der rechten Maustaste auf „webui-user.bat“, klicken Sie auf „Bearbeiten“ und wählen Sie dann Notepad. Identifizieren Sie die Zeile mit der Aufschrift set COMMANDLINE_ARGS=
. Dort werden Sie die Befehle platzieren, um die Ausführung von Stable Diffusion zu optimieren.
VERWANDT: So schreiben Sie ein Batch-Skript unter Windows
Wenn Sie nur riesige Bilder machen möchten oder Ihnen der RAM auf einer GPU der GTX 10XX-Serie ausgeht, probieren Sie zuerst --opt-split-attention
aus. Es wird so aussehen:
Klicken Sie dann auf Datei > Speichern. Alternativ können Sie auch Strg+S auf Ihrer Tastatur drücken.
Wenn Sie immer noch Speicherfehler erhalten, versuchen Sie, --medvram
zur Liste der Befehlszeilenargumente (COMMANDLINE_ARGS) hinzuzufügen.
Sie können --always-batch-cond-uncond
, um zu versuchen, zusätzliche Speicherprobleme zu beheben, wenn die vorherigen Befehle nicht geholfen haben. Es gibt auch eine Alternative zu --medvram
, die die VRAM-Nutzung noch weiter reduzieren könnte, --lowvram
, aber wir können nicht bestätigen, ob es tatsächlich funktioniert oder nicht.
Das Hinzufügen einer Benutzeroberfläche ist ein entscheidender Schritt nach vorne, um diese Art von KI-gesteuerten Tools für jedermann zugänglich zu machen. Die Möglichkeiten sind nahezu unbegrenzt, und selbst ein kurzer Blick auf die Online-Communitys, die sich der KI-Kunst widmen, zeigt Ihnen, wie mächtig die Technologie ist, selbst wenn sie noch in den Kinderschuhen steckt. Wenn Sie keinen Gaming-Computer haben oder sich keine Gedanken über die Einrichtung machen möchten, können Sie natürlich jederzeit einen der Online-KI-Kunstgeneratoren verwenden. Denken Sie nur daran, dass Sie nicht davon ausgehen können, dass Ihre Einträge privat sind.