Stable Diffusion lokal

Hallo, ich wollte mal meine Erfahrungen mit Stable Diffusion kund tun. Das Thema reizt mich schon länger, aber jetzt habe ich mich mal näher damit beschäftigt und das ganze lokal auf meinem Rechner installiert.

Zum Einstieg habe ich mir das Video von BoCodemy angesehen. Ich habe dann auch die Stable-Diffusion-Webui von AUTOMATIC1111 installiert, was bei Arch-basierten Linux-Distributionen ganz einfach über das AUR geht.

Bei Manjaro einfach mit

$ pamac build stable-diffusion-web-ui-git

Das ganze landet dann unter

/opt/stable-diffusion-web-ui

Die Benutzer- und Gruppenrechte habe ich dann allerdings geändert, von zunächst root:root in username:users.

Bei meinem Rechner, der gemäß heise-Bauvorschlag “Der optimale PC 2018 - Intel Allrounder” mit Nvidia RTX 2070 SUPER gebaut ist, lassen sich damit schon recht beeindruckende Ergebnisse erzielen.

Gemäß Video habe ich mir dann die Modelle

stable-diffusion-xl-base-1.0 und

stable-diffusion-xl-refiner-1.0

heruntergeladen.

Gestartet wird das ganze dann mit

./webui.sh --xformers --medvram

Danach öffnet sich ein Browser-Fenster, indem dann Prompt und Negativ-Prompt erscheinen. Mit

./webui.sh --xformers --medvram --listen

kann man das auch im lokalen Netz verfügbar machen.

Bei neueren Grafikkarten mit mehr vram, kann der Schalter --medvram weg gelassen werden.

Ein paar Beispiele (mit stable-diffusion-xl-refiner-1.0 erstellt):

Eine Sache hatte mich allerdings etwas beunruhigt: In unabhängigen Abständen mache ich einen Scan meiner Rechner mit desinfect, und der schlug bei der Datei

stable-diffusion-web-ui/venv/lib/python3.11/site-packages/gradio/frpc_linux_amd64_v0.2

an. Ich habe das ganze dann mal nach VirusTotal hoch geladen, da gab es auch eine Warnung bei 34 von 64 Virenscannern. Auf der entsprechenden GitHub-Seite von gradio gibt es auch Hinweise dazu, da sagt der Entwickler lediglich, dass es kein Virus sei.

Soweit mal meine Erfahrungen, was denkt Ihr über die Software generell und speziell zu dem Problem mit der - evtl falschen - Virenwarnung? Bin gespannt auf Euer Feedback.

1 Like

Nun generell ist es schon richtig, dass FRPC, also ein ReverseProxy hier, auch bei Schadsoftware sehr beliebt ist und zum Einsatz kommt aus Gründen. Zum Beispiel: Angreifer sendet dir ne Datei, du führst es aus und et violá eine Firewall und NAT wird überbrückt und es kann einen Remote-Verbindung von Außen hergestellt werden. Also es kann durchaus schädlich angewendet werden, aber es ist da wie bei einem Messer: kann nützlich oder tödlich sein.

Ein Virus-Scanner wird da aus Vorsicht Alarm schlagen, allerdings hat der ReverseProxy hier die Aufgabe, die lokale Instanz zu veröffentlichen. Vorher mit SSH gemacht, jetzt aber per FRP, was den Prozess vereinfacht und bequemer macht, wenn auch nicht sicherer. Brauch es auch nicht unbedingt, da es im Grunde nur Bilder sind und man generell immer eine Sandbox oder Virtualisierung verwendet in der Produktion.

1 Like

Alles klar, vielen Dank für die Info, das klingt dann einleuchtend für mich!

Ich habe mir jetzt noch eine weitere GUI installiert, die ein komplett anderes Konzept verfolgt: ComfyUI. Das schöne daran ist, dass wenn man es parallel zu Automation1111 installiert, man durch eine kleine Anpassung in einer optionalen Datei auf die bereits mit Automation1111 heruntergeladene und eingerichtete virtuelle Pythen-Umgebung und auf die bereits heruntergeladenen Modelle/Checkpoints, LoRas und VAEs etc zugreifen kann. Gerade bei diesen großen Datenmengen ist das natürlich sehr angenehem, diese nicht mehrfach ablegen zu müssen.

Im Moment kann ich nicht sagen, welches mir besser gefällt, die sind grundverschieden, aber gefallen mir beide gut. Evtl. kann ich mehr sagen, wenn ich wesentlich mehr damit gemacht habe. Anbei zwei Beispiele, ebenfalls mit stable-diffusion-xl-base-1.0 erstellt.