快速结论:这是 kohya_ss GUI 层未能把训练子进程失败翻译成可读诊断的增强请求,不是单一可复现 Bug。遇到训练“跑完却什么都没生成”时,优先直接查看终端与 setup.log 中 CommandExecutor 子进程的非零退出码和 traceback 尾部,而不是只依赖界面提示。
适用环境:Issue 中用户确认的使用方式是 LoRA training(Docker)与 gui.bat;GUI 层通过 subprocess(CommandExecutor)启动训练。Issue 未提供具体 OS、Python、CUDA、PyTorch、显卡型号版本,这些项目不要臆测。
最快修复方案:暂无确认的一步修复方案。Issue 讨论确认这是 enhancement,尚未合入可替换的具体修复;与训练失败上报直接相关的是关联 Issue #3134(例如输出路径错误导致的 PermissionError),可优先按该思路排查。
注意事项:Issue 中 @AbstractEyes 提供的“替换日志文案”思路并未被采纳为确认方案;triage notes 指出 “Errored. See logs” 在该仓库代码中并不存在对应字符串(可能来自 Gradio 或其他层),因此不要按“全局替换某字符串”去改。上游 sd-scripts 的内部 traceback 改写超出 GUI 层修复范围,GUI 只能做包装或摘要。
问题场景
用户在 kohya_ss 中执行 LoRA 训练(Docker 环境)以及通过 gui.bat 启动 GUI 时,训练启动后失败或异常结束,但界面与日志都没有给出可理解的失败原因:日志表现为大量 Python traceback,界面只给出笼统的失败提示。用户因此无法判断是数据加载、模型加载、输出路径还是 CUDA/权限等问题,排查耗时很长。Issue 正文明确提到界面提示类似 “Errored. See logs”,用户在评论中说明该提示实际出现在 GUI(浏览器控制台侧)而非仅终端。
报错原文
Errored. See logs
Training has ended.
Issue 中未提供完整的 200 行 Python traceback 原文,只描述了“exceptions and tracebacks that are meaningless in natural language”。具体 traceback 需以你自己的终端与 setup.log 为准。
原因分析
可能原因(基于 Issue 讨论与 triage notes,非已确认结论):
- GUI 通过
CommandExecutor以 subprocess 方式启动训练,训练结束时只恢复 Start/Stop 按钮并记录 “Training has ended.”,没有检查子进程退出码,也没有在应用内给出简短失败摘要。 - 失败原因可能落在安装/环境、数据加载、模型加载、梯度准备、显存(CUDA OOM)等任一环节;讨论中指出训练链路涉及多层软硬件机制,任一层出错都会抛出难以直读的 traceback。
- “Errored. See logs” 字样在本仓库代码中未找到,可能来自 Gradio 或其他层,因此不能定位为 kohya_ss 自身某个固定字符串。
环境排查
- 确认启动方式:Docker 还是
gui.bat,两者日志位置与行为不同。 - 确认 Python、PyTorch、CUDA 与显卡驱动版本是否与 kohya_ss 当前要求匹配(Issue 未给出具体版本,需自行核对)。
- 确认训练输出目录是否存在、是否有写权限——关联 Issue #3134 中出现了输出路径错误导致的
PermissionError。 - 确认显存是否足够(排查 CUDA OOM)。
- 确认是否能看到子进程的实际退出码,而不仅是 GUI 的 “Training has ended.”。
解决步骤
- 不要只看 GUI 提示:直接打开终端输出与
setup.log,抓取最后约 80 行(必须包含 traceback)。 - 记录触发场景:是 setup / LoRA train / DreamBooth / captioning 中的哪一种,以及是 Docker 还是
gui.bat启动。 - 确认训练子进程的退出码是否为非零;如果 GUI 没有显示退出码,需要手动从运行终端获取。
- 按 traceback 尾部的异常类型定位:输出目录权限类(参考 #3134 的
PermissionError)、CUDA OOM、模型/数据加载失败等,分别处理。 - 如确需改进日志,可先按 triage notes 建议的最小切片思路反馈:当训练子进程非零退出时,界面显示退出码 + 日志/traceback 短尾部,完整日志仍可查——此方向属于 enhancement,尚未确认实现。
验证方法
在相同配置下重新触发一次训练:若失败,检查是否已能直接从终端/setup.log 的 traceback 尾部定位到具体异常(如路径权限、OOM 等),并据此修复;修复后同一训练能正常开始并产出结果,即说明问题解决。当前 Issue 未合入让 GUI 直接显示可读失败摘要的改动,因此界面提示本身不一定会变化。
参考来源
AI 工具推荐
想把多个 AI 模型放在一个入口?
GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。
推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。
这个方案解决了吗?
可以继续搜索完整报错,或查看同一工具的其他排查指南。
![[Help] "No data found" error when training model – train_data_dir issue](https://www.chat-gpts.plus/wp-content/uploads/2026/09/3374-c5ab074b-768x403.jpg)

