kohya_ss LoRA 训练完整指南:从零安装到练出第一个角色模型
【免费下载链接】kohya_ss项目地址: https://gitcode.com/GitHub_Trending/ko/kohya_ss
kohya_ss 解决一件事:不碰命令行,也能给 Stable Diffusion 训练自己的 LoRA 和自定义模型。如果你一直想训练某个角色或画风,却被 CLI 参数劝退,它把参数全部做成了浏览器里的勾选框。读完这篇,你能在 10 分钟装好环境、跑通第一次角色 LoRA,拿到可直接加载的 .safetensors 文件。
🚀 最短路径:从 clone 到第一次训练 10 分钟
本节只写"跑通一次"必需的内容,全部配置细节见 README.md。
| 系统 | 推荐安装方式 | 启动脚本 |
|---|---|---|
| Windows | uv | gui-uv.bat |
| Linux | uv | gui-uv.sh |
| macOS | pip | gui.sh |
安装前备齐三样:Python(Windows 装 3.11.9,Linux 用 3.10.9 及以上、低于 3.13)、NVIDIA CUDA Toolkit 12.8、一张 NVIDIA 显卡。逐项版本要求见 docs/Installation/uv_windows.md。
git clone --recursive https://gitcode.com/GitHub_Trending/ko/kohya_ss在仓库根目录运行gui-uv.bat或gui-uv.sh,首次运行会自动装 uv 和依赖,浏览器打开127.0.0.1:7860。不想每次手选目录,可以把根目录的config example.toml复制为config.toml,填好模型目录和输出目录,GUI 会自动记住。
第一次成果:打开LoRA页签,选基础模型,把数据集指向图片文件夹,设好最大分辨率和 rank,点训练。几分钟后输出目录里出现 .safetensors,就是你的第一个模型。
📷 真实场景:三个练得动的任务
这节给三个最常见任务,每个都是"问题 → 做法 → 注意点"三拍,照做即可。
用 20~30 张角色照片练一个角色 LoRA
绘画程序不认识你原创的角色,提示词怎么写脸都不出来。
- 把 20~30 张同一角色的照片放进同一个文件夹,512x512 以上
- 每张图配一个同名
.txt文件,写"角色标识词 + 场景描述" - LoRA 页签设好基础模型、最大分辨率、rank(从 16 开始)
- 配置一条 sample prompt,训练中每 500 步看一次样图
- 训练结束把 .safetensors 拖进绘画程序,用标识词试画
kohya_ss 训练数据样例:仓库自带数据集文件夹里的人物样图,旁边是同名标注文件 
效果是角色五官能从标识词稳定出图。注意:标注文件优先于文件夹名,别只靠文件夹名;想让角色更独立,加一组正则化图片防语言漂移。
给 SDXL 底模练 LoRA
SDXL 底模更大,直接抄 SD1.5 的参数,结果发飘不收敛。
- Max resolution 至少设 1024x1024
- 用显存 12GB 以上的显卡,8GB 明显吃力
- 优化器换
adafactor,学习率 4e-7,调度constant_with_warmup,warmup 100 步 - 效果仍不对时加
--network_train_unet_only,只训 U-Net
SDXL 训练慢、显存吃,结果发糊先查学习率,标准值 4e-7 见 docs/LoRA/top_level.md。
租云卡远程训练,浏览器盯着
家里显存不够,或者想在云卡上挂着跑、自己只在浏览器看进度。
- 在 Runpod / Colab 上克隆仓库,参考 docs/installation_runpod.md
- 启动时带上
--headless --listen 0.0.0.0 --server_port 7860 - 浏览器打开 GUI,操作和本地完全一样
- headless 下文件选择器会隐藏,路径直接手输
提示:远程 SSH 场景务必加
--headless。否则"是否覆盖已存在的模型"确认框会弹在服务器端,没人按,训练就一直卡在那里。
⚡ 踩坑与提速:四个高频错误对照
这节整理四个最常撞上的错误和修法,再附一张 LoRA 网络类型对照表。
| 现象 | 错误做法 | 正确做法 |
|---|---|---|
报No module named tkinter | 单独补装 tkinter 库 | 重装带 tkinter 组件的对应版本 Python |
| Windows 训练报 page file 错误 | 怀疑模型文件坏了 | 调大 Windows 分页文件大小限制 |
| 远程训练卡住不动 | 怀疑网络慢 | 启动参数加--headless |
| SDXL LoRA 出图崩坏 | 沿用 SD1.5 的学习率 | adafactor+4e-7+constant_with_warmup |
LoRA 四种网络类型怎么选,完整解释在 docs/LoRA/options.md:
| 类型 | 差异 | 何时用 |
|---|---|---|
| standard | 单 rank 学习 | 默认从这里开始 |
| DyLoRA | 同时学指定 rank 以下的多个 rank | 不确定最优 rank 时 |
| LoHa | 更省的小网络 | 小 rank 下想榨更多效果 |
| LoCon | 额外学到 U-Net 的 Res block | 想学更细的结构特征 |
🔍 原理一瞥:5 步看懂它在背后干什么
不用背原理,知道流程以后排错快得多。
- 你在 GUI 填参数,表单代码在 kohya_gui/
- 系统自动生成
train_network.py等脚本的命令行 - 读入数据集图片和标注文件夹,按分辨率分桶并缓存
- 用 PyTorch + Accelerate 只训 LoRA 小网络,期间周期性出样图
- .safetensors、日志和样图写入输出目录
LoRA 的本质:原模型一个字节都不动,只训练一个独立的小网络文件——所以产物体积小、到处好分发。
🔗 延伸:训练完怎么接进你的出图工作流
这节只列仓库里真实存在的入口,把"训练 → 出图"接起来。
| 入口 | 位置 | 能做什么 |
|---|---|---|
| 出图端加载 | 输出目录的 .safetensors | 直接拖进支持 LoRA 的绘画程序,与底模叠加使用 |
| 数据预处理 | tools/caption.py、tools/group_images.py | 批量生成标注、按尺寸分组图片 |
| 参数预设 | presets/lora/ | 挑好adafactor.json这类现成参数组合再微调 |
| 过程监控 | GUI 的 TensorBoard 页签 | 训练时看 loss 曲线是否收敛 |
明天就能做:挑 20~30 张同风格角色照片放进一个文件夹,每张写好标注。先在 LoRA 页签只跑 500 步,样图里角色脸认得出来,再跑完整训练。出来的 .safetensors 拖进你的绘画程序就能用。
【免费下载链接】kohya_ss项目地址: https://gitcode.com/GitHub_Trending/ko/kohya_ss
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考