Heim > System-Tutorial > LINUX > So führen Sie eine stabile Diffusion mit einer leistungsstarken Schul-GPU ohne Root-Zugriff und Netzwerk durch

So führen Sie eine stabile Diffusion mit einer leistungsstarken Schul-GPU ohne Root-Zugriff und Netzwerk durch

PHPz
Freigeben: 2024-07-19 00:30:09
Original
860 Leute haben es durchsucht

如何在没有 root 权限和网络的情况下使用学校高性能 GPU 运行 stable diffusion

Wie wir alle wissen, kann Stablediffusion normalerweise nicht von Laptop-GPUs gesteuert werden. Es wird gesagt, dass mindestens 4 GB GPUVRAM benötigt werden, aber das reicht nicht aus, wenn man es mit „normaler Geschwindigkeit (1)“ nutzen möchte. Möchten Sie die Cloud nutzen? Einige Cloud-GPU-Mietpreise sind akzeptabel, und das Speichern von Dateien ist in der Regel nicht möglich. Das Öffnen eines Cloud-Speichers ist ein weiterer Kostenfaktor, und die Übertragung von Dateien dorthin und von dort ist mühsam. Deshalb habe ich (hauptsächlich mein Nachhilfelehrer) beschlossen, die GPU aus der Mittelschule zu verwenden, um Geld zu sparen.

(1) Ungefähre Referenz unabhängig von der Geschwindigkeit des GPU-Modells: Meine GPU2GB: 3 Minuten für ein Bild Linux verwendet einen Proxyserver Linux-Systemprogrammierung, Freund AGPU6GB: 50 Sekunden für ein Bild, Freund BGPU32GB: 2S für ein Bild...

Die GPU-Leistung in der Mittelschule ist ziemlich gut. Es ist das private Linux-Rezept von Bruder Niao und es gibt keine Root-Berechtigungen! Der Treiber möchte nicht aktualisiert werden, bevor er ihn für Sie aktualisieren kann! Was noch ärgerlicher ist, ist, dass der Computer, zu dem ich eine Verbindung herstelle, über einen Proxy mit dem Internet verbunden sein muss (das ist das größte Problem, das mir beim Herunterladen der SD begegnet ist).

Da ich noch niemanden gesehen habe, der SD mit Linuxconda installiert hat, um verschiedene Root-Berechtigungsprobleme + Proxy-Probleme zu umgehen, werde ich unten meine Erfahrungen mit der Stablediffusionwebui-Installation teilen. Diese Erfahrung sollte auch für Kollegen gelten, die Linuxconda ohne Berechtigungen und Proxy-Probleme benötigen.

*Mein Rechner ist LinuxCentOS (Redhat), NVidiaGPU

** Mit der Installation von SD meine ich die Installation der beliebten AUTOMATIC1111-Webgui auf Github:

***Ich bin in den Vereinigten Staaten

****Ich bin kein CS-Student, wenn es Ihnen nicht gefällt, kritisieren Sie mich bitte nicht

Installationsvoraussetzung:

(1) Ist die GPU groß genug (mindestens 4 GB Videospeicher)? Wenn nicht, machen Sie sich nicht die Mühe, gehen Sie zu Huggingface und verwenden Sie die kostenlose Beggar-Version (mit freundlichen Grüßen).

(2) Bitte überprüfen Sie die CUDAdrive-Version Ihrer Maschine (da meiner Erfahrung nach 10 oder mehr verwendet werden sollten, egal welche Torchcuda-Kombination verwendet wird ... CUDA11 und höher sind gut kompatibel). Die von mir installierte Taschenlampe ist an cu117 angepasst, obwohl ich sie unter 11.2 verwenden kann. (Wenn Sie Torch früher installiert haben und Probleme mit der CUDA-Versionskompatibilität haben, können Sie verschiedene Versionskombinationen ausprobieren und den Download-Pfad in launch.py ​​ändern)

linux使用代理服务器_linux代理服务_linux代理服务器软件

1. Verwenden Sie zuerst das Gitclone-Repo (wenn Sie kein Git haben, installieren Sie Git; wenn Git einen Proxy einrichten muss und eine Verbindung zum Internet herstellen kann, lesen Sie bitte Schritt 4)

<code class=" language-javascript"></code>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

2. Da ich keine Root-Berechtigungen zum Herunterladen verschiedener Pakete habe, muss ich Conda verwenden (in meinem Fall muss ich Miniconda verwenden). Als konkrete Referenz geht es hier tatsächlich darum, das Anaconda/Miniconda-Installationspaket (wget oder so) automatisch herunterzuladen und zu installieren

3. Erstellen Sie nach dem Herunterladen Ihre Conda-Umgebung (Python3.10.6 ist erforderlich)

<code class=" language-javascript"></code>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

4. (Partner, die keine Proxy-Netzwerkverbindung einrichten müssen, können diesen Schritt weglassen) Im Allgemeinen können Sie zu diesem Zeitpunkt mit dem Herunterladen beginnen, und Partner, die einen Netzwerk-Proxy einrichten müssen, müssen möglicherweise prüfen, ob dies der Fall ist Folgende Einstellungen an folgenden Stellen:

~/.bashrc (Einrichten der Umgebung, verantwortlich für die Vernetzung im üblichen Sinne ...)

<code class=" language-javascript"></code>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

~/.condarc (verantwortlich für Netzwerke wie condainstall...normalerweise an diesem Ort)

linux代理服务_linux使用代理服务器_linux代理服务器软件

<code class=" language-javascript"></code>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Git-Networking

<code class=" language-javascript"></code>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Außerdem muss pipinstall, das zum Herunterladen verschiedener Pakete benötigt wird, mit dem Internet verbunden sein. Sie befinden sich in der Datei launch.py:

Die erste Stelle, die geändert werden muss, ist über defrun_pip, etwa Zeile 129

<code class=" language-javascript"></code>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Der zweite Ort, der geändert werden muss, ist das Herunterladen des Torch in defprepare_environment, das sich etwa in Zeile 228 befindet

<code class=" language-javascript"></code>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

5. Anschließend können Sie theoretisch mit dem Download beginnen, Sie benötigen jedoch nur:

linux代理服务器软件_linux代理服务_linux使用代理服务器

<code class=" language-javascript"></code>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

* Hinweis hier: Obwohl Sie zur Installation bashwenui.sh verwenden, verwenden Sie die virtuelle Umgebung von Python, um launch.py ​​​​im selben Verzeichnis zu installieren. Früher dachte ich, da es bei Conda möglicherweise keinen großen Unterschied gibt, habe ich launch.py ​​direkt ausgeführt und daneben sind viele seltsame Fehler aufgetreten, die dazu geführt haben, dass ich die Umgebung viele Male neu konfiguriert habe. Daher empfehle ich dringend, es auch in zu verwenden conda.bashwebui.sh ermöglicht die Installation in der virtuellen Python-Umgebung. Führen Sie launch.py ​​nicht direkt aus

Aber für mich hat meine Reise in die Fallstricke gerade erst begonnen. . .

Im Folgenden sind einige meiner Fallstricke und Problemumgehungen aufgeführt (nur Erfahrungsaustausch

Linux verwendet einen Proxyserver, meine Lösung macht keinen Sinn und funktioniert am Ende! Haha!)

1. Schwierig, gfpgan herunterzuladen

„RuntimeError:Couldn'tinstallgfpgan.“

Ich fürchte, es ist ein Proxy-Problem, aber ich weiß nicht, was los ist. (Wer dieses Problem im Ausland hat, kann sich darauf beziehen. Es könnte sich um ein [Internet-]Problem handeln.)

Meine Lösung: Kommentieren Sie zuerst den gfpgan-Downloadcode in launch.py ​​aus

<code class=" language-javascript"></code>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

linux使用代理服务器_linux代理服务器软件_linux代理服务

Versuchen Sie dann, den Download automatisch durchzuführen (wenn Sie einen Proxy benötigen, denken Sie daran, --proxy=Ihre Proxy-Adresse hinzuzufügen)

<code class=" language-javascript"></code>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Wenn es immer noch nicht funktioniert, werfen wir einen Blick auf den Fehlerbericht und ergänzen, was fehlt. Ich habe versucht, Numpy in Conda neu zu installieren, Pip, Git, Setuptools, Cython zu aktualisieren ... und schließlich hat es funktioniert (ich denke, Git ist besser als numpy) Wichtig), obwohl es immer noch automatisch installiert wird, ist es besser, als es nicht verwenden zu können.

Referenz:

2. Beim Herunterladen von StableDiffusion von Stabilityai ist ein Fehler aufgetreten

„RuntimeError:Couldn'tdetermineStableDiffusion'shash“bei der Installation

Meine Lösung: Git in Conda aktualisieren (ich habe früher 1.8 verwendet und es ist in Ordnung, wenn ich auf 2 aktualisiere.)

Referenz:

Zu diesem Zeitpunkt gibt es keine Probleme beim Herunterladen des Modells. Es folgen einige weitere einfache Fehler:

linux使用代理服务器_linux代理服务器软件_linux代理服务

3. Da auf den Localhost der Maschine, die ich verwende, nicht zugegriffen werden kann, muss ich externe Links generieren

Wertfehler: Wenn auf den lokalen Host nicht zugegriffen werden kann, muss ein gemeinsam nutzbarer Link erstellt werden. Bitte setzen Sie share=True.

linux使用代理服务器_linux代理服务器软件_linux代理服务

Meine Lösung: Entfernen Sie die Kommentare und fügen Sie --share in webui-user.sh hinzu und führen Sie webui-user.sh erneut aus

<code class=" language-javascript"></code>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Auf diese Weise können Sie den externen Link von Gradio verwenden, um auf die Webgui zuzugreifen

4. Die Weboberfläche kann geöffnet werden und es ist schwierig, Bilder zu generieren, und der Fehler SomethingwentwrongExpectingvalue: line1column1(char0)

Meine Lösung: Ich habe gehört, dass es gut wäre, den Agenten auszuschalten, aber ich kann ihn nicht ausschalten. . . Ähnlich wie bei der vorherigen Frage fügen Sie einfach --no-gradio-queue hinzu und führen Sie webui-user.sh

aus

<code class=" language-javascript"></code>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Referenz:

Du kannst dich gerne über deine Erfahrungen mit Stablediffusion und anderen Generativen austauschen!

Das obige ist der detaillierte Inhalt vonSo führen Sie eine stabile Diffusion mit einer leistungsstarken Schul-GPU ohne Root-Zugriff und Netzwerk durch. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:itcool.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage