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肯定是必须的。节约你大量生成的时间呢。

具体怎么做修复这个问题呢?
- 首先确保你有Nvidia的显卡,装好了对的驱动。我们开始需要安装对应的CUDA。以我这里的为例子,安装CUDA的11.8 版本,网上下载自行安装。(这里我补充下,有的时候真的会碰上很多奇怪的问题。连装CUDA都有奇怪的问题发生时,你可以选择自定义安装,只勾选CUDA那个,因为CUDA的安装包默认会装很多东西) 安装后执行nvcc -V 查看具体信息和版本。如果执行有问题,要么全局环境变量没有正确添加CUDA的目录
- 用pip list查看你安装的torch 情况。如果不支持GPU的。卸载它。 像下图这种是支持GPU了。CUDA11.8, 如果你没有后面+的一部分,说明是CPU版本的。

- 去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,对不上版本号但是勉强也能用。
- 弄完Torch+CUDA后,清楚当前你SD的venv目录。重新运行,就可以成功了。
如果你细心,启动过程中会输出CUDA的字样。
如下图

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