Home  >  Article  >  System Tutorial  >  How to run stable diffusion using school high-performance GPU without root access and network

How to run stable diffusion using school high-performance GPU without root access and network

PHPz
PHPzOriginal
2024-07-19 00:30:09756browse

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

As we all know, stablediffusion usually cannot be driven by laptop GPUs. It is said that at least 4GB of GPUVRAM is needed, but it is not enough if you want to use it at "normal speed (1)". Want to use the cloud? Some cloudgpu rental prices are acceptable, and they usually don't allow you to store files. Opening a cloud storage is another expense, and it's troublesome to transfer files to and from them. So I (mainly my tutor) decided to use the GPU from the middle school in order to save money.

(1) Approximate reference regardless of GPU model speed: My GPU2GB: 3 minutes for one picture Linux uses a proxy server Linux system programming, friend AGPU6GB: 50s for one picture, friend BGPU32GB: 2S for one picture...

The GPU performance in middle school is quite good. It’s Brother Niao’s private Linux recipe, and it doesn’t have root permissions! The driver doesn’t want to be updated before it can update it for you! What's even more annoying is that the machine I'm connecting to has to be connected to the Internet through a proxy (this is the most troublesome thing I encountered when downloading the SD).

Since I haven’t seen anyone install SD using linuxconda to bypass various root permission issues + proxy issues, I will share my stablediffusionwebui installation experience below. This experience should also apply to colleagues who need linuxconda without permissions and proxy issues.

*My machine is LinuxCentOS (Redhat), NVidiaGPU

** What I mean by installing sd is installing the popular AUTOMATIC1111 webgui on github:

***I am in the United States

****I am not a CS student. If there is anything unprofessional, please thank me. If you don’t like it, please don’t criticize me. I am just sharing my experience

Install prerequisite:

(1) Is the GPU big enough (at least 4GB of video memory)? If not, don’t bother, go to huggingface and use the free beggar version (sincerely).

(2) Please review the CUDAdrive version of your machine (because torch will be used). According to my experience, 10. or more should not be used, no matter which torchcuda combination is... CUDA11 and above have good compatibility. The torch I installed is adapted to cu117, although I can use it on 11.2. (If you have installed torch earlier and have problems with CUDA version compatibility, you can try different version combinations and change the download path in launch.py)

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

1. First use the gitclone repo (if you don’t have git, install git; if git needs to set up a proxy and can connect to the Internet, please see step 4)

<code class=" language-javascript"></code>

2. Since I don’t have root permissions to download various packages, I need to use conda (in my case, I have to use miniconda). For specific reference, here is actually to automatically download the anaconda/miniconda installation package (wget or something) and install it

3. After downloading, create your conda environment (python3.10.6 is required)

<code class=" language-javascript"></code>

4. (Partners who do not need to set up a proxy network connection can omit this step) Generally speaking, you can start downloading at this time, and partners who need to set up a network proxy may need to check whether there are the following settings in the following places:

~/.bashrc (set up the environment, responsible for networking in the usual sense...)

<code class=" language-javascript"></code>

~/.condarc (responsible for networking such as condainstall...usually in this location)

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

<code class=" language-javascript"></code>

git networking

<code class=" language-javascript"></code>

Also, pipinstall, which is needed to download various packages, also needs to be connected to the Internet. They are in the file launch.py:

The first place that needs to be changed is above defrun_pip, around line 129

<code class=" language-javascript"></code>

The second place that needs to be changed is to download the torch in defprepare_environment, which is around line 228

<code class=" language-javascript"></code>

5. Afterwards, you can theoretically start downloading, but you only need:

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

<code class=" language-javascript"></code>

* Note here: Although you use bashwenui.sh to install, you use python's virtualenviornment to install launch.py ​​in the same directory. I used to think that since there might not be much difference in conda, I ran launch.py ​​directly and many strange errors appeared next to it, which caused me to reconfigure the environment many times, so I strongly recommend using it even in conda. bashwebui.sh allows it to be installed in the python virtual environment. Do not run launch.py ​​directly!

But for me, my journey into pitfalls has just begun. . .

The following are some of my pitfalls and workarounds (only experience sharingLinux uses proxy server, my solution makes no sense, and it works in the end! Haha!)

1. Difficult to download gfpgan

"RuntimeError:Couldn'tinstallgfpgan."

I think it’s a network problem. I’m afraid it’s a proxy problem, but I don’t know what’s wrong. (For those who have this problem abroad, you can refer to this. It may be an [Internet] problem)

My solution: first comment out the gfpgan download code in launch.py

<code class=" language-javascript"></code>

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

Then try to download automatically (if you need a proxy, remember to add --proxy=your proxy address)

<code class=" language-javascript"></code>

If it still doesn’t work, let’s take a look at the error report and fill in what is missing. I tried reinstalling numpy in conda, updated pip, git, setuptools, cython... and finally it worked (I guess git is better than numpy) Important), although it is still installed automatically, it is better than not being able to use it.

Reference:

2. An error occurred while downloading stablediffusion of stabilityai

"RuntimeError:Couldn'tdetermineStableDiffusion'shash"wheninstalling

私の解決策: conda で git を更新します (以前は 1.8 を使用していましたが、2 に更新しても問題ありません)

参考:

この時点ではモデルのダウンロードに問題はありませんが、他にもいくつかの単純なバグがあります:

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

3. 使用しているマシンのローカルホストにアクセスできないため、外部リンクを生成する必要があります

値エラー:ローカルホストにアクセスできない場合は、共有可能なリンクを作成する必要があります。share=True を設定してください。

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

私の解決策: コメントを削除し、webui-user.sh に --share を追加して、webui-user.sh を再度実行します

リーリー

このようにして、Gradio の外部リンクを使用して webgui にアクセスできます

4. Web インターフェースは開くことができますが、画像を生成するのが難しく、SomethingwentwongExpectingvalue: line1column1(char0) というエラーが表示されます

私の解決策: エージェントをオフにすると良いと聞きましたが、オフにできません。 。 。前の質問と同様に、--no-gradio-queue を追加して webui-user.sh を実行するだけです

リーリー

参考:

stablediffusion やその他のジェネラティブとの経験を交換することは大歓迎です!

The above is the detailed content of How to run stable diffusion using school high-performance GPU without root access and network. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn