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

StableDiffusion大家做AIGC内容不可或缺。但是经常遇到的问题是,启动SD,就有时候出现RuntimeError: Torch is not able to use GPU 的错误。然后很多(尤其是国内的垃圾文章)就推荐说:

在webui-user.bat中新增–skip-torch-cuda-test –no-half ,这2个参数

完整的配置如下一行:

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

其实这种根本不是解决方法,而是错误的迁就。

说错误是因为这是绕过去了这个问题,改用了另外一种方法。

说迁就是因为原本用GPU的,现在这么一配置用CPU了。

解释下这2个参数的作用

–skip-torch-cuda-test 启动环节跳过CUDA检测,这样你就看不到错误了。

–no-half 启动不是Half的能力,所谓的Half就是浮点数的一半。Double是全,Float就是Half。半精度。

我的解释相对比较通俗,需要更专业术语的,自行找。

所以你但配置–no-half就是用CPU了, 不配置就用GPU

据我的真实对比感受,使用GPU比使用CPU快4倍左右。

除非你没有硬件的Nvidia系列的显卡,否则上GPU肯定是必须的。节约你大量生成的时间呢。

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

具体怎么做修复这个问题呢?

  1. 首先确保你有Nvidia的显卡,装好了对的驱动。我们开始需要安装对应的CUDA。以我这里的为例子,安装CUDA的11.8 版本,网上下载自行安装。(这里我补充下,有的时候真的会碰上很多奇怪的问题。连装CUDA都有奇怪的问题发生时,你可以选择自定义安装,只勾选CUDA那个,因为CUDA的安装包默认会装很多东西) 安装后执行nvcc -V 查看具体信息和版本。如果执行有问题,要么全局环境变量没有正确添加CUDA的目录
  2. 用pip list查看你安装的torch 情况。如果不支持GPU的。卸载它。 像下图这种是支持GPU了。CUDA11.8, 如果你没有后面+的一部分,说明是CPU版本的。
Stable Diffusion中如何用GPU而不是CPU,加速出图
  1. 去Torch的网站找适合你的版本。https://download.pytorch.org/whl/torch_stable.html
    或者最新的版本https://pytorch.org/get-started/locally/

具体参考我的文章:https://www.shxcj.com/archives/9238

对应的torch版本对应了cuda和python的版本。我这里用

CUDA11.8+Python3.11+Torch2.2.0

因此就用到了这个torch-2.2.0+cu118-cp311-cp311-win_amd64

cu的意思是CUDA, cp的意思是python。

另外如果你用CUDA11.6,对应的torch只能是1.13.0这种了。

小技巧,貌似版本差异小的CUDA,对不上版本号但是勉强也能用。

  1. 弄完Torch+CUDA后,清楚当前你SD的venv目录。重新运行,就可以成功了。

如果你细心,启动过程中会输出CUDA的字样。

如下图

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

RA/SD 衍生者AI训练营。发布者:稻草人,转载请注明出处:https://www.shxcj.com/archives/9509

(0)
上一篇 4天前
下一篇 2天前

相关推荐

发表回复

登录后才能评论
本文授权以下站点有原版访问授权 https://www.shxcj.com https://www.2img.ai https://www.2video.cn