ComfyUI故障排除方法
一、标准化排查流程
- 明确现象与范围:是所有工作流都失败,还是仅某个特定流程;界面是否能打开、队列是否能执行。
- 沿着执行链分阶段定位:
1) 加载期:检查Checkpoint是否成功读取;
2) 编码期:看CLIP Text Encode是否报错;
3) 采样期:观察KSampler是否中途停止,是否出现OOM/NaN;
4) 解码期:确认VAE Decode是否返回有效图像。
- 先看日志再看连线:打开终端/控制台日志,优先锁定异常节点与堆栈;必要时在可疑节点前插入Preview Image/Latent观察中间结果。
- 形成闭环:提出假设(如显存、路径、依赖、参数)→ 最小复现 → 验证 → 记录结论。
二、环境与依赖修复
- 使用整合包的优先操作:在启动器的疑难解答/扫描中一键自检,或尝试切换内核版本;若多次失败,备份后重部署整合包(保留 models、custom_nodes、workflows)。
- 修复 Python 与依赖:进入 ComfyUI 目录,用内置 Python 执行
- python.exe -m pip install --upgrade pip setuptools wheel
- python.exe -m pip install -r requirements.txt --force-reinstall
- 必要时 python.exe -m pip cache purge
- 环境变量与路径:确保模型路径正确;如使用整合包,避免随意改动内置 Python 路径;Windows 下尽量将模型放在英文路径且无空格。
- 插件缺失/冲突:通过管理器安装;失败则到插件目录执行 python.exe -m pip install -r requirements.txt;若冲突,先移除问题插件的依赖行或整个插件目录再重装。
三、常见报错快速处置表
| 症状关键词 | 高概率原因 | 快速验证 | 处理建议 |
|---|
| CUDA out of memory | 分辨率/批量过大、VAE解码峰值高、其他进程占显存 | 降低分辨率与 batch,关闭占显存程序 | 启动参数加--lowvram;用Tiled VAE;必要时改用更小模型或分块生成 |
| File not found / No such checkpoint | 模型未放对目录、路径含中文/空格、软链接/大小写问题 | 在 models/checkpoints 下确认文件存在且拼写一致 | 放到正确目录(英文路径),避免中文/空格;必要时重建索引或改用 .safetensors |
| Node Class Not Found / KeyError: 'class_type' | 缺少自定义节点或依赖未装全 | 管理器搜索缺失节点;查看控制台 import 错误 | 安装对应插件及其 requirements.txt;重启后再测 |
| Input image must be RGB (got 4 channels) | 输入为 RGBA 透明通道 | 查看 LoadImage 输出通道数 | 在入口加 ImageToRGB 节点统一转为 RGB |
| 黑图但无报错 / NaN/overflow | VAE 精度溢出或解码失败 | 在 VAE 前插入 Preview Latent;检查日志 NaN | 启用--disable-vae-on-cpu或换用taesd轻量 VAE;必要时降低精度/步数 |
| CPU/GPU 设备不一致 | 张量在不同设备混用 | 查看报错栈定位节点 | 在相关节点显式选择 GPU/CPU,保持设备一致(如 SAM 选 prefer GPU) |
| 尺寸为 0 / zero-size array | 蒙版为空、裁剪后宽高为 0 | 检查前置图像/蒙版尺寸 | 增加尺寸合法性校验或默认填充,避免 0 尺寸运算 |
| cannot pickle 'module' object | 输出缓存含不可序列化对象 | 关闭缓存后复现 | 仅返回可序列化数据;或临时关闭输出缓存再运行 |
四、性能与显存优化
- 启动参数:
- --lowvram:按需加载权重,显著降低显存占用(速度变慢);
- --disable-vae-on-cpu:避免某些环境下 VAE 被错误放到 CPU 导致异常;
- --verbose:输出更详细日志,便于定位。
- 解码阶段优化:使用Tiled VAE/Tiled KSampler将大图分块解码,显存峰值大幅下降。
- 采样与批量:将batch_size=1、减少采样步数、降低分辨率;必要时更换更稳定的采样器(如 Euler/DPM 系列)。
- 缓存与中间结果:在关键节点前插入Preview观察张量形状/范围,避免把异常“流”到下游。
五、日志、节点调试与求助
- 获取完整日志:优先查看终端/控制台完整 traceback;必要时以--verbose模式重启;Windows 下注意用双引号包裹含空格的路径。
- 定位错误节点:红色节点先双击看堆栈;区分致命错误与仅影响预览的警告;必要时在可疑位置插入Preview/自定义调试节点打印张量 shape/范围。
- 一键诊断与自动修复:安装ComfyUI_ErrorFixer等插件,可在错误节点上显示修复按钮与解决方案入口,加速常见问题的自助修复。
- 提交 Issue 的要点:提供ComfyUI版本、Python版本、显卡与驱动、启动参数、最小复现工作流 JSON、完整错误日志;若为插件问题,附上插件版本与依赖安装方式。