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 GPU | torch 装成了 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) 这种形式就行。