问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Stable Diffusion中如何用GPU而不是CPU,加速出图

创作时间:
作者:
@小白创作中心

Stable Diffusion中如何用GPU而不是CPU,加速出图

引用
CSDN
1.
https://blog.csdn.net/ms44/article/details/146531181

Stable Diffusion是AIGC内容创作中不可或缺的工具。但是,在使用过程中,很多用户会遇到启动时出现"RuntimeError: Torch is not able to use GPU"的错误。针对这个问题,很多(尤其是国内的)文章推荐在webui-user.bat中新增两个参数:--skip-torch-cuda-test--no-half。完整的配置如下:

set COMMANDLINE_ARGS=--api --api-log --listen --port 9800 --skip-torch-cuda-test --no-half --enable-insecure-extension-access

然而,这种做法并不是真正的解决方案,而是一种错误的妥协。解释一下这两个参数的作用:

  • --skip-torch-cuda-test:启动环节跳过CUDA检测,这样就不会看到错误提示。
  • --no-half:启动时不使用Half精度。这里的Half指的是浮点数的一半,Double是全精度,Float就是Half精度。

实际上,配置--no-half意味着使用CPU,而不配置则使用GPU。根据作者的实际对比测试,使用GPU比使用CPU快4倍左右。因此,除非没有NVIDIA系列的显卡,否则使用GPU是必须的,这可以大大节约生成时间。

如何修复这个问题?

  1. 首先确保你有NVIDIA的显卡,并且已经安装了正确的驱动。接下来需要安装对应的CUDA。以作者的环境为例,安装CUDA 11.8版本。如果在安装过程中遇到奇怪的问题,可以选择自定义安装,只勾选CUDA相关组件。安装完成后,执行nvcc -V查看具体信息和版本。如果执行有问题,可能是全局环境变量没有正确添加CUDA的目录。

  2. 使用pip list查看已安装的PyTorch情况。如果当前版本不支持GPU,需要卸载它。支持GPU的PyTorch版本会在输出中显示CUDA版本信息,例如CUDA 11.8。如果没有这些信息,说明是CPU版本。

  3. 前往PyTorch官网找到适合你的版本:https://download.pytorch.org/whl/torch_stable.html。具体参考作者的另一篇文章:https://www.shxcj.com/archives/9238。选择与你的CUDA和Python版本相匹配的PyTorch版本。例如,作者使用的是CUDA 11.8、Python 3.11和PyTorch 2.2.0,对应的包是torch-2.2.0+cu118-cp311-cp311-win_amd64。如果你使用的是CUDA 11.6,对应的PyTorch版本只能是1.13.0。

  4. 完成PyTorch和CUDA的安装后,清除当前Stable Diffusion的venv目录,然后重新运行。如果配置正确,在启动过程中会输出CUDA相关的字样。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号