kohya_ss 实用指南:用图形界面完成 Stable Diffusion LoRA 训练
【免费下载链接】kohya_ss项目地址: https://gitcode.com/GitHub_Trending/ko/kohya_ss
kohya_ss 是一个基于 Gradio 的 Stable Diffusion 图形化训练工具,把 LoRA、DreamBooth、文本反转和全量微调这些训练方式装进了表单式的网页界面,填完参数后自动拼装并执行训练命令。它支持 SD 1.5/2.x、SDXL、SD3、Flux.1 等主流底模,适合手里有一台带 NVIDIA 显卡的电脑、想训练自己的角色或画风模型,但不想啃长串命令行参数的开发者和 AI 绘画爱好者。读完这篇,你可以完成从安装、启动界面到跑通第一次 LoRA 训练的全部流程。
它适合哪些场景
- 想用几十张图学会一个特定人物、角色或画风,产出一个几 MB 大小的 LoRA 文件
- 不想记住几十个训练参数的含义,希望逐项在界面上勾选和调整
- 希望训练过程中能看到损失数值和周期性生成的样本图,而不是只盯着终端日志
- 计划反复训练不同配置,希望把模型、数据集路径一次性存好
- 不适合:没有 GPU、想用纯 CPU 做大规模预训练的人; kohya_ss 面向的是"有显卡 + 小数据集微调"的路线
快速上手:三步启动训练界面
安装前确认本机已装好 Python(3.10.9 及以上、低于 3.13)、Git,以及可用的 NVIDIA GPU 和对应驱动。
- 克隆仓库(含子模块):
git clone https://gitcode.com/GitHub_Trending/ko/kohya_ss进入项目目录后运行安装脚本,它会自动创建虚拟环境并装依赖:Linux/macOS 用
./setup.sh,Windows 用setup.bat。启动图形界面:Linux/macOS 运行
./gui.sh,Windows 双击gui.bat。浏览器自动打开 Gradio 页面、各标签页可正常展开,即表示环境就绪。
如果安装顺利,接下来唯一要做的事,就是在界面里填路径和参数。
按任务拆解核心能力
把训练参数放进可视化表单
kohya_ss 把 Kohya 训练脚本的常用选项拆成了若干标签页:学习率与调度器、批次大小、网络维度与 alpha、优化器、保存频率等都在表单里,每项旁边有说明文字。界面上点"开始"后,它在后台生成完整的训练命令并执行。对新手的价值是:出问题时可以直接看到实际执行的命令,对照参数排查,而不需要自己先学一遍命令行。
用预设减少试错成本
presets/目录按场景放了一批经过验证的参数组合,其中 LoRA 预设按底模和优化器细分(SD1.5、SDXL、Flux 等)。建议的做法是:第一次训练不要自己从零调参,选一个与底模匹配的预设,只改数据集路径和训练轮数,先保证跑通;第二次再针对效果微调个别参数。
用 config.toml 存好默认路径
把根目录下的config example.toml复制一份改名为config.toml,填入底模、数据集、输出目录的绝对路径后,每次启动 GUI 各标签页都会自动预填这些位置,省去反复选目录的时间。路径建议统一用正斜杠分隔。
用工具目录预处理训练数据
tools/里有一批辅助脚本:批量转换图像格式、为图片生成或整理描述文件、图像分组等。正式训练前先用对应脚本把图片规格统一、描述文件补全,能避免训练中途卡在数据问题上。
进阶:掩码损失做局部控制
当希望模型只学图像中某一块区域(比如只学角色、忽略背景)时,可以为训练图准备对应的掩码图像,训练时只对该区域计算损失。test/masked_loss/里有现成的示例数据可以参考结构。第一次训练不需要用它,等基础流程跑通后再考虑。
最小实践清单
- 建一个文件夹,放入 20 张以上同一主体的清晰图片,每张图旁放一个同名
.txt写一句准确描述——完成后目录里应是一图一文件成对出现。 - 启动 GUI,切到 LoRA 标签页,填入底模路径、数据集路径、输出目录——三个输入框中应能看到你填的完整路径。
- 选择一个预设,确认网络维度、学习率、训练轮数——预设字段应已被自动填充,你只改了少数几项。
- 点击开始训练——日志区应滚动输出损失数值,并且每隔一段时间生成一张样本图。
- 训练结束后查看输出目录——应出现
.safetensors格式的 LoRA 文件。 - 把该文件加载到出图工具,用训练时的触发词生成一张图——画面风格或主体应与训练集明显相似。
新手最容易卡住的 5 类问题
现象:启动脚本报 "No module called tkinter"可能原因:当前 Python 环境缺少 tkinter 组件。 处理:按 docs/Installation/ 中对应系统的说明,换用 uv 或重新安装带 tkinter 的 Python 后再跑 setup。
现象:通过 SSH 打开远程界面后,弹窗卡住、训练无法开始可能原因:原生文件选择或覆盖确认弹窗出现在无显示器的服务器上。 处理:启动时加--headless参数,它会让界面隐藏本地文件选择按钮并自动跳过覆盖确认。
现象:损失值剧烈跳动或变成 NaN可能原因:学习率相对当前优化器过高。 处理:改用带 warmup 的恒定学习率调度器,把学习率降低一个数量级重试,同时保持优化器与预设一致。
现象:训练中途显存溢出(OOM)可能原因:批次大小或分辨率超出显存上限。 处理:降低批次大小和训练分辨率,开启梯度检查点;SDXL 的 LoRA 训练官方建议预留 12GB 以上显存,参考 docs/LoRA/。
现象:界面里选不到外部磁盘上的模型文件可能原因:文件位于项目目录之外,未被界面允许访问。 处理:在config.toml的[server]段配置allowed_paths,把外部目录加进去。
资源入口与下一步
- 各系统安装说明:docs/Installation/(pip 与 uv 两种方法分平台提供)
- 训练总览与数据准备:docs/train_README.md
- LoRA 专项建议:docs/LoRA/
- 现成参数预设:presets/
- 数据预处理脚本:tools/
- 示例数据集与配置模板:test/、
config example.toml
下一步动作很具体:用 20 张同一主体的图片,按上面的清单完整跑一次 LoRA 训练,标准是输出目录里出现可用的.safetensors文件,且用它出图后风格能看出和训练集同源。跑通这一次,再谈调参。
【免费下载链接】kohya_ss项目地址: https://gitcode.com/GitHub_Trending/ko/kohya_ss
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考