部署Stable diffusion遇到的一个问题解决

前两天自己在服务器上搞了一下stable diffusion,碰到过一个问题,当时搜了半天没找到好的方法,后来我想了下给解决了,觉得还是来记录一下,如果其他人也正巧遇到的话看到这个可以方便解决,当然,是对于linux环境下来说的,不过我觉得windows应该也一样通用
问题大概是这样的
Torch is not able to use GPU

Torch is not able to use GPU; add --skip-torch-cuda-test to COMMANDLINE_ARGS variable to disable this check

首先你要确定你是有显卡cuda的,应该都有,那这个问题其实很简单,首先用nvidia-smi看一下自己的cuda版本,比如说我的是如下这样10.2
在这里插入图片描述
那么你就需要下载和你的cuda版本相对应的pytorch版本,但是它默认的却是下载最新版本的pytorch,于是这样就不对应从而报错了,并且他这个是在你git的时候自动安装的并不是你自己conda install能变更的,那么需要怎么操作呢?
首先来到你的/stable-diffusion-webui/文件下,然后删除venv这整个文件夹,然后打开launch.py这个文件,找到225行左右的如下语句

torch_command = os.environ.get('TORCH_COMMAND', "pip install torch==1.13.1+cu117 torchvision==0.14.1+cu117 --extra-index-url https://download.pytorch.org/whl/cu117")

把这句注释或者删掉,然后改为对应你自己版本的语句

torch_command = os.environ.get('TORCH_COMMAND', "pip install torch==1.12.1+cu102 torchvision==0.13.1+cu102 torchaudio==0.12.1 --extra-index-url https://download.pytorch.org/whl/cu102")

那考虑到可能有人不知道该怎么写,这里再多说两句,首先去到pytorch的官网https://pytorch.org/
在这里插入图片描述

点击install

在这里插入图片描述

然后这里可以根据自己的需要选择版本,但既然出现这个问题这里的肯定就不适用了,这里我们点击图里的红字部分,下载先前版本的pytorch,这样就可以下载旧版本的了,找到对应自己cuda版本(之前用nvidia-smi看到的)的,复制安装的命令即可,这里选一个和他原来一样规则的,就是大概这种
在这里插入图片描述
然后改完launch.py之后保存,再去运行你部署的语句或者直接使用启动的语句

bash webui.sh --share --listen

他就会开始自动再重新下载环境需要的包,等他下载即可

另外可能没啥用,但还是说一下,我是还改了webui-user.sh等文件里面的pytorch相关语句啥的
在这里插入图片描述
不过这里应该没啥用,如果改了launch不行的话可以试试改其他相关的地方
那么这样这篇文章就结束了,因为不是立马记录下来的,可能存在一些问题,如果你看这篇文章遇到问题可以留言说一下

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>