Rumah > Tutorial sistem > LINUX > Cara menjalankan resapan stabil menggunakan GPU berprestasi tinggi sekolah tanpa akses root dan rangkaian

Cara menjalankan resapan stabil menggunakan GPU berprestasi tinggi sekolah tanpa akses root dan rangkaian

PHPz
Lepaskan: 2024-07-19 00:30:09
asal
891 orang telah melayarinya

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

Seperti yang kita sedia maklum, stablediffusion biasanya tidak boleh dipacu oleh GPU komputer riba. Dikatakan bahawa sekurang-kurangnya 4GB GPUVRAM diperlukan, tetapi ia tidak mencukupi jika anda ingin menggunakannya pada "kelajuan biasa (1)". Mahu menggunakan awan? Sesetengah harga sewa cloudgpu boleh diterima, dan mereka biasanya tidak membenarkan anda menyimpan fail Membuka storan awan adalah perbelanjaan lain, dan menyusahkan untuk memindahkan fail ke dan dari mereka. Jadi saya (terutamanya tutor saya) memutuskan untuk menggunakan GPU dari sekolah menengah untuk menjimatkan wang.

(1) Rujukan anggaran tanpa bercakap tentang kelajuan model GPU: GPU2GB saya: 3 minit untuk satu gambar Linux menggunakan pelayan proksi Pengaturcaraan sistem Linux, rakan AGPU6GB: 50s untuk satu gambar, rakan BGPU32GB: 2S untuk satu gambar..

Prestasi GPU di sekolah menengah agak bagus Ia adalah resipi Linux peribadi Brother Niao, dan ia tidak mempunyai kebenaran root! Pemandu tidak mahu dikemas kini sebelum ia boleh mengemas kini untuk anda! Apa yang lebih menjengkelkan ialah mesin yang saya sambungkan perlu disambungkan ke Internet melalui proksi (ini adalah perkara paling menyusahkan yang saya temui semasa memuat turun SD).

Memandangkan saya tidak melihat sesiapa memasang SD menggunakan linuxconda untuk memintas pelbagai isu kebenaran root + isu proksi, saya akan berkongsi pengalaman pemasangan stablediffusionwebui saya di bawah. Pengalaman ini juga harus digunakan kepada rakan sekerja yang memerlukan linuxconda tanpa kebenaran dan isu proksi.

*Mesin saya ialah LinuxCentOS (Redhat), NVidiaGPU

** Apa yang saya maksudkan dengan memasang sd ialah memasang webgui AUTOMATIC1111 yang popular di github:

***Saya berada di Amerika Syarikat

****Saya bukan pelajar CS Jika ada apa-apa yang tidak profesional, sila terima kasih jika anda tidak suka, tolong jangan kecam saya. Saya hanya berkongsi pengalaman saya

Pasang prasyarat:

(1) Adakah GPU cukup besar (sekurang-kurangnya 4GB memori video) Jika tidak, jangan risau, pergi ke huggingface dan gunakan versi pengemis percuma (ikhlas).

(2) Sila semak versi CUDAdrive mesin anda (kerana obor akan digunakan, 10. atau lebih tidak boleh digunakan, tidak kira kombinasi torchcuda yang mana ... CUDA11 dan ke atas mempunyai keserasian yang baik. Obor yang saya pasang disesuaikan dengan cu117, walaupun saya boleh menggunakannya pada 11.2. (Jika anda menghadapi masalah dengan keserasian versi CUDA selepas memasang obor lebih awal, anda boleh mencuba kombinasi versi yang berbeza dan menukar laluan muat turun dalam launch.py)

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

1 Mula-mula gunakan repo gitclone (jika anda tidak mempunyai git, pasang git; jika git perlu menyediakan proksi dan boleh menyambung ke Internet, sila lihat langkah 4)

<code class=" language-javascript"></code>
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

2 Memandangkan saya tidak mempunyai kebenaran root untuk memuat turun pelbagai pakej, saya perlu menggunakan conda (dalam kes saya, saya perlu menggunakan miniconda). Untuk rujukan khusus, di sini sebenarnya untuk memuat turun pakej pemasangan anaconda/miniconda (wget atau sesuatu) secara automatik dan memasangnya

3 Selepas memuat turun, cipta persekitaran konda anda (python3.10.6 diperlukan)

<code class=" language-javascript"></code>
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

4. (Rakan kongsi yang tidak perlu menyediakan rangkaian proksi boleh meninggalkan langkah ini) Secara umumnya, anda boleh mula memuat turun pada masa ini dan rakan kongsi yang perlu menyediakan proksi rangkaian mungkin perlu menyemak sama ada terdapat perkara berikut tetapan di tempat berikut:

~/.bashrc (sediakan persekitaran, bertanggungjawab untuk rangkaian dalam erti kata biasa...)

<code class=" language-javascript"></code>
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

~/.condarc (bertanggungjawab untuk rangkaian seperti condainstall...biasanya di lokasi ini)

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

<code class=" language-javascript"></code>
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

git networking

<code class=" language-javascript"></code>
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Selain itu, pipinstall, yang diperlukan untuk memuat turun pelbagai pakej, juga perlu disambungkan ke Internet Mereka berada dalam pelancaran fail.py:

Tempat pertama yang perlu ditukar adalah di atas defrun_pip, sekitar baris 129

<code class=" language-javascript"></code>
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Tempat kedua yang perlu diubah ialah memuat turun obor di defprepare_environment, iaitu sekitar baris 228

<code class=" language-javascript"></code>
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

5 Selepas itu, anda boleh mula memuat turun secara teori, tetapi anda hanya perlu:

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

<code class=" language-javascript"></code>
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

* Nota di sini: Walaupun anda menggunakan bashwenui.sh untuk memasang, anda menggunakan persekitaran maya python untuk memasang launch.py ​​​​dalam direktori yang sama. Saya pernah berfikir bahawa kerana mungkin tidak banyak perbezaan dalam conda, saya menjalankan launch.py ​​​​ secara langsung dan banyak ralat pelik muncul di sebelahnya, yang menyebabkan saya mengkonfigurasi semula persekitaran berkali-kali, jadi saya amat mengesyorkan menggunakannya walaupun dalam conda. bashwebui.sh membenarkannya dipasang dalam persekitaran maya python Jangan jalankan launch.py ​​​​ secara langsung!

Tetapi bagi saya, perjalanan saya ke dalam perangkap baru sahaja bermula. . .

Berikut adalah beberapa perangkap dan penyelesaian saya (hanya perkongsian pengalamanLinux menggunakan pelayan proksi, penyelesaian saya tidak masuk akal, dan ia berfungsi pada akhirnya! Haha!)

1. Sukar untuk memuat turun gfpgan

"RuntimeError:Tidak dapat memasanggfpgan."

Saya rasa ia masalah rangkaian, saya takut ia masalah proksi, tetapi saya tidak tahu apa yang salah (Bagi yang ada masalah ini di luar negara, anda boleh merujuk kepada ini. Ini mungkin masalah [Internet].

Penyelesaian saya: komen dahulu kod muat turun gfpgan dalam launch.py

<code class=" language-javascript"></code>
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

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

Kemudian cuba muat turun secara automatik (jika anda memerlukan proksi, ingat untuk menambah --proxy=alamat proksi anda)

<code class=" language-javascript"></code>
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Jika masih tidak berfungsi, mari kita lihat laporan ralat dan isikan apa yang hilang Saya cuba memasang semula numpy dalam conda, pip, git, setuptools, cython... dan akhirnya berjaya (saya rasa git. adalah lebih baik daripada numpy) Penting), walaupun ia masih dipasang secara automatik, ia adalah lebih baik daripada tidak dapat menggunakannya.

Rujukan:

2. Ralat berlaku semasa memuat turun stablediffusion of stabilityai

"RuntimeError:Tidak dapat menentukanStableDiffusion'shash"semasa memasang

我的解決方式:conda裡更新git(我之前是1.8,更新到2.幾就好了)

參考:

到此模型下載就沒哪些問題了,接出來是一些其他簡單的bug:

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

3.由於我用的機器localhost不能訪問,須要產生外鏈

ValueError:Whenlocalhostisnotaccessible,ashareablelinkmustbecreated.Pleasesetshare=True.

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

我的解決方式:在webui-user.sh裡除去註釋並添加--share,再運行一下webui-user.sh

<code class=" language-javascript"></code>
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

這樣就可以用gradio的外鏈存取webgui了

4.可以開啟網頁介面且難以產生圖片,報錯SomethingwentwrongExpectingvalue:line1column1(char0)

我的解決方式:聽說把代理關了就好了,但我不能關。 。 。所以跟前面的問題類似,加一下--no-gradio-queue再運行一下webui-user.sh就可以了

<code class=" language-javascript"></code>
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

參考:

歡迎你們一起交流stablediffusion和其他generativeai使用經驗!

Atas ialah kandungan terperinci Cara menjalankan resapan stabil menggunakan GPU berprestasi tinggi sekolah tanpa akses root dan rangkaian. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:itcool.net
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan