Ein aufregender Fortschritt in der Welt des Deep Learning hat sich in Form des “Stable Diffusion” Text-zu-Bild-Generators manifestiert. Mit seiner Fähigkeit, hochwertige Bilder basierend auf textuellen Beschreibungen zu erzeugen, hat dieser Generator eine neue Ära der kreativen Bildsynthese eingeleitet. Seine bahnbrechende Technologie beruht auf einem Verfahren, das als “Diffusion Models” bekannt ist, welche die Stabilität und Konsistenz der Bildgenerierung verbessern. In dieser Einleitung werden wir einen genaueren Blick auf die Funktionsweise von “Stable Diffusion” werfen, seine Anwendungen erkunden und die potenziellen Auswirkungen auf verschiedene Branchen diskutieren.
1. Einleitung
Das Problem: Es läuft eigentlich nur auf Nvidia Grafikkarten. Aber mit ein paar Tricks bekommt man diese auch auf vielen Grafikkarten des Herstellers AMD zum laufen. Ebenfalls ist zu beachten, das der AMDGPU Treiber, den es seitens AMD nur für Ubuntu, Red Hat und SuSE gibt, unter Debian installiert werden muss. Dies geht normalerweise nicht, zumindest wenn man die normale Stable Version installiert hat. Es muss also zusätzlich auf Testing Umgebung upgedatet werden.
Meine Hardware, auf der ich die Installation aufgeführt habe, sieht wie folgt aus:
- Mainboard: Gigabyte X570 Aorus Master, BIOS F37
- CPU: AMD Ryzen 9 3950X
- Grafikkarte: AMD Radeon RX-5700 XT
- KDE Plasma 5.27.10 mit Wayland und GDM3
Inhalt
2. Debian auf Testing updaten
Das Upgrade von Debian Stable auf Debian Testing ist möglich, erfordert jedoch einige Vorsichtsmaßnahmen, da Debian Testing im Gegensatz zu Debian Stable eine Rolling-Release-Distribution ist, die kontinuierlich aktualisiert wird und daher weniger stabil sein kann. Hier ist eine grundlegende Anleitung, wie ein Upgrade von Debian Stable auf Debian Testing durchgeführt werden kann:
- Sicherung wichtiger Daten: Bevor mit dem Upgrade begonnen wird, ist es ratsam, wichtige Daten zu sichern, um sicherzustellen, dass bei etwaigen Problemen während des Upgrades keine Daten verloren gehen.
- APT-Quellen ändern: Datei
/etc/apt/sources.listin einem Texteditor mit Root-Rechten öffnen. Alle Vorkommen von “stable” in “testing” ändern. - Aktualisieren der Paketliste: Ausführen von
sudo apt update, um die Paketlisten neu zu laden und die Änderungen in den APT-Quellen zu berücksichtigen. - Upgrade der installierten Pakete: Führe
sudo apt upgradeaus, um alle installierten Pakete auf die neuesten Versionen in Debian Testing zu aktualisieren. - Vollständiges System-Upgrade: Führe
sudo apt full-upgradeaus, um sicherzustellen, dass alle Pakete und Abhängigkeiten aktualisiert werden. - Neustart des Systems: Es wird empfohlen, das System neu zu starten, um sicherzustellen, dass alle Änderungen vollständig wirksam werden.
Es ist wichtig zu beachten, dass das Upgrade von Debian Stable auf Debian Testing dazu führen kann, dass das System weniger stabil wird, da Testing eine Entwicklerversion ist und möglicherweise aufgrund von Paketaktualisierungen und Änderungen inkompatible Änderungen einführt. Persönlich betreibe ich das Debian schon einige Jahre als Testing-Release, und konnte bisher keinerlei Probleme feststellen. Aber grundsätzlich besteht natürlich die Möglichkeit, dass es zu Problemen kommen kann. Es muss aber auch zugegeben werden, dass es solche Probleme auch schon in der Stable Version gegeben hat.
Was die Paketquellen angeht, verweise ich auf folgenden Artikel: Debian Stable, Testing und Unstable – Und die entsprechende sources.list
3. Grafikkartentreiber des Herstellers installieren
Als erstes wird der Installer für den AMD Treiber benötigt, welcher von der AMD Homepage heruntergeladen werden kann. Es wird die Ubuntu Version benötigt. Für meine Radeon RX-5700 XT habe ich über wget das Paket direkt heruntergeladen und installiert:
$ wget https://repo.radeon.com/amdgpu-install/23.40.2/ubuntu/focal/amdgpu-install_6.0.60002-1_all.deb $ sudo apt install ./amdgpu-install_6.0.60002-1_all.deb
Da die aktuelle Version aber für Debian 12 Testing noch zu aktuell ist, müssen die Einträge für die Paketdatenbank angepasst werden. Dazu müssen die beiden Dateien
/etc/apt/sources.list.d/amdgpu.list/etc/apt/sources.list.d/amdgpu-proprietary.list
die das Paket hinzugefügt hat, angepasst werden.
Der Eintrag “focal” muss in “jammy” abgeändert werden.
Vorher:
/etc/apt/sources.list.d/amdgpu.list
deb https://repo.radeon.com/amdgpu/6.0.2/ubuntu focal main #deb-src https://repo.radeon.com/amdgpu/6.0.2/ubuntu focal main
/etc/apt/sources.list.d/amdgpu-proprietary.list
# Enabling this repository requires acceptance of the following license: # /usr/share/amdgpu-install/AMDGPUPROEULA deb https://repo.radeon.com/amdgpu/6.0.2/ubuntu focal proprietary
Wird dann entsprechend so abgeändert:
/etc/apt/sources.list.d/amdgpu.list
deb https://repo.radeon.com/amdgpu/6.0.2/ubuntu jammy main #deb-src https://repo.radeon.com/amdgpu/6.0.2/ubuntu jammy main
/etc/apt/sources.list.d/amdgpu-proprietary.list
# Enabling this repository requires acceptance of the following license: # /usr/share/amdgpu-install/AMDGPUPROEULA deb https://repo.radeon.com/amdgpu/6.0.2/ubuntu jammy proprietary
Anschließend muss die Debian Paketdatenbank auf den neuesten Stand gebracht werden:
$ sudo apt update
Jetzt kann der eigentliche Treiber installiert werden:
$ amdgpu-install --usecase=graphics,opencl --vulkan=amdvlk --opencl=rocr --opengl=mesa --no-32
Am Schluss der Installation wird eine Fehlermeldung ausgegeben, dass die Installation des amdgpu-dkms Modul wegen eines Fehlers abgebrochen wurde. Da dieses nicht benötigt wird, kann diese Meldung ignoriert werden. Damit aber bei späteren Paketinstallationen diese Fehlermeldung nicht immer wieder angezeigt, wird das betreffende Paket wieder deinstalliert:
$ sudo apt purge amdgpu-dkms && sudo apt -f install
Danach muss der Rechner neu gestartet werden:
$ sudo reboot
4. Python Version 10.3.6 installieren
Für Stable Diffusion wird derzeit zwingend die Python Version 10.3 vorausgesetzt. Dabei hat sich Version 10.3.6 sehr gut bewährt. Diese muss heruntergeladen, kompiliert und zusätzlich installiert werden, zur bestehenden Version.
Falls nicht schon vorhanden, müssen eventuelle Abhängigkeiten installiert werden:
$ sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libsqlite3-dev wget libbz2-dev
Python 10.3.6 Quellcode herunterladen und entpacken:
$ wget https://www.python.org/ftp/python/3.10.6/Python-3.10.6.tgz $ tar -xvf Python-3.10.6.tgz
Python konfigurieren, compilieren und anschließend installieren:
$ cd Python-3.10.6 $ ./configure --enable-optimizations $ make -j`nproc --ignore=2` $ sudo make altinstall
Jetzt noch überprüfen, ob alles funktioniert hat:
$ python3.10 --version
5. Stable Diffusion installieren
Die Installation von Stable Diffusion benötigt ca. 12 GB an Festplattenplatz. Möchte man weitere Module hinzufügen, kommen schnell noch etliche Gigabytes dazu. Es sollte also eine Partition ausgewählt werden, die ausreichend Platz bietet. Die Installation läuft in wenigen Schritten ab:
$ git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui $ cd stable-diffusion-webui $ python3.10 -m venv venv $ source venv/bin/activate $ python3.10 -m pip install --upgrade pip wheel $ TORCH_COMMAND='pip install torch torchvision --extra-index-url https://download.pytorch.org/whl/rocm5.1.1' python3.10 launch.py --precision full --no-half --skip-torch-cuda-test
Die weitere Installation läuft jetzt automatisch ab, und anschließend wird Stable Diffusion gestartet und ein neues Browserfenster geöffnet und die URL http://127.0.0.1:7860 aufgerufen. Der erste Start dauert, je nach Internetverbindung, einige Minuten, da zunächst alle Pakete heruntergeladen müssen.
Dies dauert nur beim ersten Mal so lange.
5.1 Stable Diffusion erneut starten
Ab jetzt wird das Toll wie folgt gestartet:
$ cd stable-diffusion-webui $ source venv/bin/activate $ TORCH_COMMAND='pip install torch torchvision --extra-index-url https://download.pytorch.org/whl/rocm5.1.1' python3.10 launch.py --precision full --no-half --skip-torch-cuda-test
6. Fazit
Insgesamt markiert der Stable Fusion Text-zu-Bild-Generator einen bedeutenden Fortschritt in der Welt des Deep Learning und der kreativen Bildsynthese. Seine Fähigkeit, hochwertige Bilder aus textuellen Beschreibungen zu generieren, bietet ein breites Anwendungsspektrum in verschiedenen Branchen, von der Kunst über das Design bis hin zur Unterhaltung. Durch die Verwendung von Diffusion Models hebt sich Stable Fusion durch seine Stabilität und Konsistenz hervor, was zu realistischen und hochwertigen Bildern führt. Während weitere Entwicklungen und Anpassungen erwartet werden, stellt Stable Fusion bereits jetzt eine vielversprechende Lösung für die automatisierte Bildgenerierung dar und könnte zukünftig noch tiefgreifendere Auswirkungen auf die kreative Landschaft haben.
Zum generellen Thema der verschiedenen Repositories bei Debian habe ich HIER schon mal etwas zu geschrieben.
Quellen:
https://ommer-lab.com/research/latent-diffusion-models/
https://www.amd.com/de/support/graphics/amd-radeon-5700-series/amd-radeon-rx-5700-series/amd-radeon-rx-5700-xt
https://www.python.org/downloads/release/python-3106/
https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Install-and-Run-on-AMD-GPUs
