教程

sd提示词报错怎么排查?先读最后一行红字

sd提示词报错先别急着重装环境。我装SD和调词时被红字折腾了一整天,攒出一套分类排查法:先读控制台最后一行报错,再按阶段定位——装不上的查Python版本、路径和CUDA,出不了图的查显存和模型文件,词不生效多半是全角符号在捣乱。这篇给出常见报错对照表和真实排查案例,照着走一遍,多数问题十分钟能自己修好。

sd提示词报错排查:终端窗口里红色报错日志,最后一行被圈出来高亮

先说结论再说排查:sd提示词报错九成不用重装,根因就写在控制台最后一行红字里,先分类再对号入座。装不上的看Python版本和路径,出不了图的看显存和模型文件,词不生效多半是全角符号捣乱。拿不准就照文中那张对照表从头过一遍。

sd提示词报错这事,我上个月装 Stable Diffusion 那天下午体会透了:控制台红字从顶刷到底,第一反应是删掉整个环境重装。折腾到半夜才明白,原因其实就写在最后一行红字里。先读红字再动手,比盲猜快十倍。

那天攒下了一套排查顺序,从装环境到调词一共三类坑。你可以直接跳到对应那节,也可以拉到最后照着表逐项对。

先把报错分成三类,别一条条乱试

SD的报错归三类:环境装不上、点了生成没反应、图出来但词不听话。三类对应三套排查,混着查只会浪费时间。报错发生在哪个阶段,原因就藏在那个阶段的文件里。

环境类报错出现在双击 webui-user.bat 之后、浏览器界面弹出来之前,多半是 Python 版本、显卡驱动或者路径的问题。生成类报错是界面都正常,点一下生成按钮红字才开始刷,重点查显存和模型文件。第三类最隐蔽——图能出,就是不按你写的词来,控制台里往往只有一行黄色警告,很容易漏看。

我当天犯的错就是三类混着查。显存参数调了半天,结果卡在 Python 版本上,白浪费四十分钟。先分类,真的省时间。

装环境阶段的报错,多数栽在这三处

装环境报错八成是Python版本不对、路径带中文,或者torch装成了CPU版,对着改就能过。我装了三遍才成功,三遍各踩一个。

第一遍我下了最新的 Python 3.13,启动脚本直接报版本不支持。这套环境认 3.10.6,去官网下对应版本装上才消停。第二遍把文件夹放在「D:\新建文件夹(2)\sd」里,路径里的中文和全角括号让脚本读配置时直接崩,挪到纯英文路径「D:\sd-webui」就好了。冤。真的很冤,谁还没个手滑的时候。

第三遍遇到的是那句经典报错:Torch is not able to use GPU。意思是装上的 torch 没带显卡支持,得手动重装 CUDA 版,pip 命令后面带上 --index-url 指到 PyTorch 官方的 CUDA 源,装完再启动就正常了。

对了,顺手看一眼显卡驱动的新旧程度。我室友的卡驱动停在前年,同样的报错,更新驱动两分钟解决。这种最气人。

点了生成却全是红字,怎么排查?

生成阶段刷红字,先看是不是显存不够(CUDA out of memory),再查模型文件放没放对位置,最后才动参数。这三步覆盖我见过的绝大多数出图失败。

显存报错长这样:RuntimeError: CUDA out of memory. Tried to allocate…。我那张卡是 4060 8G,出 512x768 的图约十二秒一张很稳,分辨率拉到 1024 再开面部修复就容易炸。解法按顺序试:先关掉吃显存的浏览器标签和后台程序,再在启动参数里加 --medvram,还不行就降分辨率。我现在日常挂着 --medvram,一个月没炸过。

另一类红字是模型加载失败,控制台提示找不到 checkpoint。十有八九是模型没放进 models/Stable-diffusion 目录,或者下载中断了,文件只剩几百KB。点开看文件大小——正常底模都在 2GB 往上,safetensors 格式的常见 4 到 7GB,差得远就是没下完。

还有一种:NansException: A tensor with all NaNs was produced。这个我查了半个多小时,多数帖子指向 VAE 的半精度问题,启动参数加 --no-half-vae 之后确实好了。你要是出图全黑或者花屏,先想起这条。

词不生效,问题多半出在符号上

提示词权重不生效,先检查括号和冒号是不是全角:SD只认半角的()和:,全角符号会被当成普通文字。这类问题界面上不报红字,全靠控制台里一行不起眼的警告。

我踩过的例子:(masterpiece),中文输入法打出来的全角括号,权重完全没加上。改成半角 (masterpiece) 才生效。冒号同理,(detail:1.2) 里那个冒号必须半角,打成全角的话权重语法直接失效。还有一回我复制别人的提示词,里面带着一个没闭合的括号,控制台警告 unbalanced parentheses,整段权重全乱了。复制来的词,先扫一眼括号配对。

转义也提一句:想真画括号本身,得写成 \( ,不然程序会把括号当权重符号解析。新手大概半年内都遇不到这个需求,知道有这回事就行。

词序和权重的详细玩法,sd提示词怎么写才听话?权重、词序和模型差异一次讲清这篇拆得更细,报错排完了可以接着看。

最后把踩过的报错汇成一张表,对照着查就行:

报错或现象常见原因当时怎么修
Torch is not able to use GPUtorch 装成了 CPU 版重装 CUDA 版 torch
启动脚本闪退、读不了配置路径含中文或空格挪到纯英文路径
CUDA out of memory显存不够加 --medvram、降分辨率、关后台
找不到 checkpoint模型没放对目录或文件不完整放进 models/Stable-diffusion,核对文件大小
NansException、出图全黑VAE 半精度问题启动参数加 --no-half-vae
unbalanced parentheses 警告括号没配对或用了全角符号补配对,全部改半角

回到开头那个刷屏的下午。后来再遇到红字,我的流程已经固定:看最后一行,判断属于哪一类,对着表查,十分钟内基本有答案。装环境那关过了以后,日常报错翻来覆去就那几种,见一次记一次,比背十条提示词模板都管用。

常见问题

启动窗口一闪就没了,报错看不清怎么办?

别双击 bat 文件。先开一个命令行窗口,把 webui-user.bat 拖进去回车运行,窗口不关,报错就留在终端里,往上翻到最后一行就是原因。

报错全是英文,要整段拿去翻译吗?

不用整段翻。前面的调用堆栈对你没帮助,只翻最后一行就够。常见报错直接把英文原句搜一下,比翻译快得多,答案也更准。

显存不够就只能换显卡吗?

先试软的:加 --medvram 或 --lowvram 参数,把分辨率降到 512,关掉占显存的后台。我 8G 的卡靠这套日常出图,一直够用,换卡是最后一步。

加大括号的写法没反应,是版本问题吗?

不是。WebUI 认的是小括号权重语法,大括号是另一套工具的写法,放进来只会被当普通字符。想要类似效果,换算成 (词:1.1) 这种形式就行。

延伸阅读

关键词 sd提示词报错 SD出不了图 CUDA out of memory 显存不足 提示词权重不生效

刺猬星球super-i 团队

先自己用过、测过,再写成可以照着做的指南。