
Incorporate More Meaningful/Useful Diagnostics
快速结论:此 Issue 为 Kohya SS 项目的增强请求(Enhancement),用户反馈在训练失败时 GUI 仅显示 “Errored. See logs” 等无意义信息,无法定位具体错误原因。当前暂无单一修复方案,需优先收集完整失败日志并与开发者协作。
问题场景
用户在运行 Kohya SS 进行 LoRA 训练或 DreamBooth 训练时(通过 gui.bat 或 Docker 启动),训练过程失败后 GUI 界面仅显示通用错误提示,无法通过自然语言理解具体是何种错误(如 CUDA 内存不足、权限错误、数据加载问题等)。用户感到沮丧,因为日志仅输出 Python 异常栈追踪(traceback),对非开发者用户极不友好。
报错原文
Errored. See logs
此外,用户报告的另一种情况是训练结束后 GUI 仅恢复 Start/Stop 按钮,并显示泛化的 “Training has ended.”,未检查进程退出码或提供错误摘要。
原因分析
可能原因:
- GUI 层通过子进程(
CommandExecutor)启动训练,但未在进程退出时检查非零退出码,也未从控制台日志中提取、归纳关键错误信息用于 UI 展示。 - 上游训练脚本(sd-scripts)依赖数十个硬件/软件层次的机制(CUDA、PyTorch、数据加载、梯度处理、模型加载等),任何一级出错都会抛出 Python 异常,但 GUI 层没有将这些异常翻译为用户可读的“下一步操作建议”。
- “Errored. See logs” 文本在用户浏览器控制台中出现,说明该消息来自 Gradio 或已存在的代码层,并非完全不存在;但由于 Issue 提交者未提供完整日志,无法精确定位该字符串出现的位置。
环境排查
- 操作系统(Windows/Linux/macOS)及启动方式(
gui.bat、Docker、RunPod) - Python 版本、CUDA 版本、PyTorch 版本、显卡型号及显存
- 具体训练类型(LoRA / DreamBooth / 其他)
- 控制台完整日志(特别是最后 80 行,含异常栈追踪)
- 浏览器控制台截图,显示 “Errored. See logs” 的出现位置
解决步骤
此 Issue 无法通过单一代码变更解决,需要用户配合完成以下步骤:
- 复现故障后,提供一次或两次完整的失败示例,包括:
- 正在执行的操作(setup / LoRA train / DreamBooth / captioning / 其他)
- 操作系统及 GUI 启动方式(
gui.bat、Docker、RunPod 等) - 完整日志(至少包含异常栈追踪的最后 80 行及
setup.log)
- 明确 “Errored. See logs” 是否在 Gradio 界面、弹出提示、终端、浏览器控制台中出现(提供截图更佳)。
- 如果主要故障发生在安装/设置阶段而非训练阶段,请明确说明,以便开发者区分排查范围。
- 开发者建议:可优先关注已有具体 Issue #3134(训练中未捕获错误如
PermissionError),该问题已具体到“输出路径错误”场景,可作为首批改进目标。
验证方法
- 训练失败时,GUI 应显示明确状态(如退出码 + 错误类型简写),而非 “Errored. See logs”。
- 用户可通过“短尾部日志”快速判断错误类别(如 CUDA OOM、权限错误、输出目录缺失等)。
- 对于常见错误,GUI 可附加“如何修复”的自然语言提示。
- 完整日志仍可通过终端或
setup.log获取,供高级用户排查。



