Kohya_SS 实操指南:从十几张照片到训练出你的第一个 LoRA 模型
2026/9/13 2:53:52 网站建设 项目流程

Kohya_SS 实操指南:从十几张照片到训练出你的第一个 LoRA 模型

【免费下载链接】kohya_ss项目地址: https://gitcode.com/GitHub_Trending/ko/kohya_ss

假设你手里有十几张同一角色的照片,想让 AI 学会画它,而不是每次都靠提示词碰运气。开源项目 Kohya_SS 就是为这件事而生的:它是一个基于 Gradio 图形界面的扩散模型训练工具,把 Kohya 的 SD 训练脚本包装成可视化操作,支持 LoRA、DreamBooth、微调、Textual Inversion 等训练方式,覆盖 Stable Diffusion 1.5/2.x、SDXL、SD3、Flux.1、Lumina、Anima、HunyuanImage 等主流基座模型。

下面我们就以一个真实目标为主线——用 Kohya_SS 训练一个角色 LoRA——把环境、数据、训练、调参走一遍。

三步把 Kohya_SS 跑起来

整个安装只有"装依赖"和"启动界面"两件事,仓库自带脚本处理完环境细节。

第一步,克隆代码:

git clone https://gitcode.com/GitHub_Trending/ko/kohya_ss cd kohya_ss

第二步,按系统运行安装脚本,它会自动创建虚拟环境并装好 PyTorch 等依赖:

# Linux / macOS bash setup.sh # Windows setup.bat

第三步,启动图形界面:

# Linux / macOS bash gui.sh # Windows gui.bat

启动后浏览器会自动打开http://localhost:7860,这就是 Kohya_SS 的 Gradio 操作界面;如果端口冲突,可以加--server_port 8080换一个端口。界面里的 LoRA、DreamBooth、Finetune 等标签页分别对应不同训练脚本,比如 LoRA 标签页背后实际执行的是train_network.py。如果你希望每次启动时路径都自动填好,可以把根目录的config example.toml复制为config.toml,把模型目录、输出目录等默认路径写进去,启动时会被自动加载。

训练材料怎么准备:图片目录 + 数据配置

开始训练前,先想清楚两件事:模型"要学什么"和"用什么描述它"。Kohya_SS 要求训练图片放在带命名规范的目录里,每张图旁边可以放一个同名.txt文件作为描述词(caption),告诉模型这张图里有什么。

目录结构长这样:

dataset/ ├── 10_my_character/ # 前缀 10 表示每张图片训练时重复 10 次 │ ├── shot_01.jpg │ ├── shot_01.txt # 内容如:1girl, red hair, blue dress │ ├── shot_02.jpg │ └── ... └── reg/ # 正则化图片(可选,防止过拟合)

几个要点值得说明:

  • 图片数量:LoRA 训练 10~30 张高质量图片通常够用;图片格式支持.png.jpg.jpeg.webp.bmp,一般不需要预先缩放。
  • 文件夹名的前缀数字(如10_)控制每张图的重复次数,小数据集适当提高重复次数可以加强特征学习。
  • caption 的作用:写进.txt的内容(发色、服装、姿势等)会在训练中被"剥离",之后你用新提示词描述这些内容时,模型只保留你没写进 caption 的特征——也就是角色本身。caption 越准确,剥离得越干净。
  • 正则化图片reg/目录):放一批同类别的通用图片,帮助模型把"角色特征"和"普通女孩"区分开,减少概念漂移。

如果你要处理多组数据或精细控制分辨率、批大小,可以额外写一个.toml数据配置文件,然后在 GUI 里选择它。最小示例如下(完整说明见官方文档):

[general] enable_bucket = true # 按宽高比分桶,混合不同比例的图片 [[datasets]] resolution = 1024 # SDXL 建议不低于 1024 batch_size = 1 [[datasets.subsets]] image_dir = "dataset/10_my_character" class_tokens = "mychar" # 标识符 + 类别

第一次 LoRA 训练:选模型、定参数、启动

材料备好后,我们进入 GUI 的LoRA标签页,按四个步骤走。

1. 选基础模型

在"Pretrained model name or path"填入你的 SDXL 模型文件路径(.safetensors格式)。基础模型决定了 LoRA 的能力边界:想学写实人像就选写实基座,想学动漫角色就选动漫基座。

2. 定关键参数

参数建议值为什么这么设
最大分辨率1024 × 1024SDXL 的标准训练分辨率,低于它反而损失细节
学习率4e-7(Adafactor 优化器)这是 SDXL LoRA 的常规值;学习率太高会震荡,太低则学不动
优化器Adafactor比 AdamW 更省显存,SDXL 场景推荐
只训练 UNet勾选network_train_unet_onlySDXL 有两个文本编码器,全开会引入不稳定因素
训练步数 / 轮数从 1~3 个 epoch 起步图片少时轮次多了容易过拟合,先少跑再调
保存格式safetensors通用性强,文件体积比 ckpt 小

显存方面,SDXL LoRA 训练建议 12GB 起步。

3. 启动训练

点击"Start training"后,训练脚本在后台运行,界面会输出日志;日志目录里还有 TensorBoard 记录(默认端口 6006)可以看 loss 曲线。

4. 看结果

训练结束(或每 N 步)会在输出目录生成 LoRA 文件。把它放进 Stable Diffusion WebUI 等推理端加载,用标识符提示词(如mychar, 1girl)出几张图,和训练集对照:脸部特征稳定、能换姿势换服装,说明基本成功。

怎么判断结果好坏,以及异常信号

训练过程主要盯两个地方:loss 曲线训练中的采样图

  • Loss 走势:正常情况是前几百步快速下降,随后缓慢趋稳。如果 loss 不降反升或剧烈抖动,通常是学习率过高或 caption 写错了。
  • 采样图(如果启用了训练中采样):每隔几十个 step 看一次。如果采样图里角色特征在某个 step 之后开始模糊、背景出现训练集里的元素,说明接近过拟合了——用save_every_n_epochs定期保存模型,回挑最早达标的那一个。
  • loss 骤降为 0 附近:模型在"背答案"而不是学特征,减少训练量。

常用调节手段:loss 降得太慢就适当提高学习率或增加 epoch;出图总带训练集的服装背景,就检查 caption 是否漏写了这些元素;概念和提示词脱钩,可以试试clip_skip或在数据配置里加caption_dropout_rate让模型学会忽略部分描述。

进阶:其他训练方式和高级功能

除了 LoRA,Kohya_SS 还内置了几种路线,这里各给一句话定位:

  • DreamBoothtrain_db.py):不需要 caption,用"标识符 + 类别词"训练特定角色,可配正则化图片,适合只有少张照片的场景。
  • Finetune 全量微调fine_tune.py):直接改基础模型权重,学习容量最大但消耗也最大,适合有大量数据时注入整体风格。
  • Textual Inversion:只训练一个新词对应的向量,模型几乎不变,适合给现有词表补充新概念。
  • Masked loss 掩码损失:用二值化掩码图指定"只学哪些区域",白色部分参与训练、黑色部分被忽略,适合只学服装或配饰。
  • 模型工具:LoRA 之间的合并(merge)、提取、尺寸转换(resize)等功能都在工具标签页里,方便对多个 LoRA 做风格混合。

三个最常见的坑

坑一:显存不足(OOM)。现象是训练刚启动就报 CUDA out of memory。解法按代价从小到大:把train_batch_size降到 1 并用gradient_accumulation_steps累积梯度凑等效批大小;开启cache_latents缓存潜变量;调低最大分辨率(SD1.5 用 512,SDXL 尽量别低于 1024);开启gradient_checkpointing用时间换显存。

坑二:过拟合。现象是 loss 降到极低,出图高度雷同、细节崩坏、换不动服装。解法:缩短训练步数、降低重复次数(减小文件夹名前缀数字)、加入正则化图片组、启用caption_dropout_rate,并利用定期保存回挑早停模型。

坑三:生成不稳定、和提示词脱钩。现象是有时出角色有时不出,特征时隐时现。解法:先核对 caption 与图片是否一致(错标签是最大元凶);LoRA 权重别拉满,从 0.6~0.8 试起;CFG scale 用 5~7 的常规区间测试,过高会饱和发糊。

收尾:继续深入的路径

  • 官方训练文档:数据组织、分桶、采样图、各脚本参数的完整说明
  • LoRA 预设配置:一批社区分享的现成参数模板,改路径即可直接用
  • 示例脚本:批处理 caption、数据整理等 PowerShell 脚本参考

从十几张照片到一个可复用的 LoRA,整个流程就是"目录规范 + 参数克制 + 早看早调"。先跑通最小数据集,再逐步加图片、调参数,你会比看十篇参数表更快摸清自己的角色该怎么练。

【免费下载链接】kohya_ss项目地址: https://gitcode.com/GitHub_Trending/ko/kohya_ss

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询