kohya_ss LoRA 训练实战指南:4 步完成你的第一个角色 LoRA
kohya_ss LoRA 训练实战指南4 步完成你的第一个角色 LoRA【免费下载链接】kohya_ss项目地址: https://gitcode.com/GitHub_Trending/ko/kohya_sskohya_ss 是一个构建在 Kohya 的 sd-scripts 训练脚本之上的 Gradio基于网页的 GUI 框架界面工具。它把训练 Stable Diffusion、SDXL、Flux.1 等模型所需的几十个命令行参数变成网页上的表单你在界面上填完参数后它自动拼出train_network.py等训练命令并执行。本文以 kohya_ss LoRA一种只训练少量参数、体积仅几 MB 的模型补丁训练为主线覆盖环境安装、数据组织、参数配置到结果验证的完整流程。kohya_ss 能承担哪些训练任务训练方式与基础模型支持kohya_ss 本身不实现训练算法它是 kohya-ss/sd-scripts 脚本的前端界面配置 → 生成命令 → 子进程运行脚本训练日志会回显在 GUI 的控制台区域。它支持的训练方式和基础模型如下训练方式对应脚本产物典型场景LoRA / LoHa / LoKRtrain_network.py几 MB 到几十 MB 的网络补丁角色、画风、概念微调DreamBoothtrain_db.py完整微调模型GB 级把新主体学进基础模型全量微调Fine-tunefine_tune.py完整模型整体风格替换显存占用高文本反转Textual Inversiontrain_textual_inversion.py几十 KB 的嵌入向量教会模型一个新词LECOtrain_network.py的 LECO 选项概念编辑网络概念擦除/编辑SD1.x/2.x、SDXL基础模型方面覆盖 Stable Diffusion 1.5/2.x、SDXL、SD3、Flux.1、Lumina Image 2.0、Anima 和 HunyuanImage-2.1不同标签页对应不同模型家族。先想清楚你要用哪种方式如果只是想给基础模型加一个角色或风格选 LoRA产物小、加载快、可以用在 WebUI 里。如果需要整个模型的行为改变才考虑 DreamBooth 或全量微调它们的显存和时间成本明显更高。第一步安装 kohya_ss 并启动界面uv 与 pip 两种安装路线Linux 推荐uv方式./gui-uv.sh依赖隔离更干净macOS 只能用pip方式Windows 用对应的gui-uv.bat或gui.bat。系统要求Python 3.10.9 以上且低于 3.13NVIDIA GPULinux 需要 CUDA 12.8 工具包。四种平台的详细步骤见 docs/Installation/。克隆仓库并启动git clone --recursive https://gitcode.com/GitHub_Trending/ko/kohya_ss cd kohya_ss--recursive不能省略训练脚本位于 sd-scripts 子模块中漏掉它训练一定跑不起来。Linux 下启动 GUI./gui-uv.sh --listen 127.0.0.1 --server_port 7860 --inbrowser脚本会自动检查并安装uv如缺失首次运行还会同步 Python 环境需要几分钟。之后浏览器打开127.0.0.1:7860即可看到标签页式的训练面板。常用启动参数参数作用--server_port修改服务端口多开实例时用 7860、7861…--headless远程/SSH 场景必加隐藏本地文件选择按钮、跳过覆盖确认弹窗--listen 0.0.0.0允许其他机器访问本机 GUI--config指定自定义配置文件路径--language设置界面语言localizations/下有 zh-CN 等语言包远程服务器上启动时改成./gui-uv.sh --listen 0.0.0.0 --server_port 7860 --headless否则 SSH 下没有显示设备覆盖确认弹窗会把进程卡死。第二步组织 LoRA 训练数据文件夹结构与 caption 文件仓库自带的 docs/image_folder_structure.md 定义了目录约定dataset/ ├── 10_your_concept/ # 子文件夹名即类class │ ├── image1.jpg │ ├── image1.txt # 同名 caption内容优先于文件夹名 │ └── image2.png └── 1_regularization/ # 正则化图像可选 ├── reg1.jpg └── reg2.jpg支持.png、.jpg、.jpeg、.webp、.bmp。若某张图旁存在同名.txt或.caption文件训练时该文件内容作为这张图的描述caption即图像的文本标注而不是子文件夹名。caption 写得越具体模型越能把目标主体和服装、背景区分开。仓库test/img/10_darius kawasaki person/目录下放了一组 512x512 的测试图及其 caption 文件可以直接打开看格式正则化图像与重复次数LoRA 标签页里还可以配置数据集 TOMLtest/config/下有现成示例。其中两个关键项num_repeats训练图重复次数图少时靠它补足有效 epochis_reg true标记正则化图像子集用基础模型生成 50-100 张同类图像即可作用是防止语言漂移模型把1girl这类通用词直接等同于你的角色。不准备 caption 文件的话训练名会取子文件夹名这也是 DreamBooth 的 classidentifier 方法如shs dog。第三步在 GUI 里配置 LoRA 训练用预设文件快速起步presets/目录内置了大量经过验证的参数组合比如presets/lora/SDXL - LoRA AI_Now prodigy v1.0.json、presets/lora/lokr-sd15.json。在 LoRA 标签页的预设preset选项中选择对应文件学习率、优化器、网络维度会一次性填好再按自己的数据集微调即可省去了逐项试错的成本。常用参数参考参数说明起步参考network dim秩/rank补丁网络的宽度越大表达力越强、越容易过拟合SD1.5 常用 8-32SDXL 常用 16-64network alpha缩放系数控制 LoRA 输出强度常设为 rank 的一半learning rate学习率SDXL Adafactor 时官方文档给的标准值是4e-7配constant_with_warmup、warmup 100 步resolution最大分辨率训练时按桶bucket按宽高比分桶就近缩放SD1.5 用 512SDXL 至少 1024save_every_n_epochs保存检查点频率每 1-2 个 epoch 存一次SDXL 训练的两条额外建议来自 docs/LoRA/top_level.md显存至少 12GB勾选--network_train_unet_only只训练 UNet避免 SDXL 双文本编码器带来的训练不稳定。用 config.toml 免去每次选路径把仓库根的config example.toml复制为config.tomlGUI 启动时自动加载填入model_dir、lora_model_dir、output_dir、lc_dataset_dir等绝对路径之后每次打开界面这些字段就是预填的。完整可配键名见 config example.toml。第四步运行训练、验证样本图与调优训练中生成样本图勾选在训练中生成样本图像后kohya_ss 会周期性用提示词生成样图并贴在 GUI 里同时 TensorBoard 记录 loss 曲线日志目录在logging_dir指定位置。样本提示词放在 prompt 文件中每行一个提示行内可带参数例如masterpiece, best quality, (1girl), simple background--n low quality, worst quality--w 512 --h 512 --d 1 --l 7.5 --s 28其中--n负向提示、--d种子、--lCFG 强度、--s采样步数#开头为注释。效果判断与掩码损失判断 LoRA 是否可用样图中目标主体清晰、细节不糊同时不加触发词时生成结果没有串味即没有污染基础模型。过拟合的表现是样图越来越像训练图原图此时减小 epoch 数或 rank。如果需要模型只关注图像的某个区域比如只学脸部、避开背景可以启用掩码损失masked loss选项名--masked_loss为每张训练图配一张同名 RGB 掩码图红色通道 255 表示参与损失计算的像素、0 表示忽略。test/masked_loss/里就有一组现成的黑白掩码样本注意官方标注该功能尚未完全测试遇到问题建议在 issue 区反馈。安装与训练报错了怎么排查启动阶段的三个常见错误No module called tkinterPython 安装时没带 tkinter重装 Python 3.10/3.11 并勾选 tcl/tk 组件即可Linux 上对应安装python3.x-tk包。Windows 页面文件page file报错调大系统虚拟内存上限。Tesla V100 上 GPU 利用率异常仓库有专门排障文档 docs/troubleshooting_tesla_v100.md核心思路是换用兼容的 PyTorch 版本组合。训练阶段的排查顺序先确认数据路径存在且文件夹结构符合上文约定带空格的目录名要检查命令是否被正确引用test/img with spaces/就是为此设置的显存不足降 batch size、开 8bit 优化器如 AdamW8bit、加梯度检查点学习率过高loss 早期发散或样图噪点爆炸按一个数量级往下调模型路径错误GUI 生成的命令在控制台可见可复制出来单独执行看完整报错。辅助工具在 tools/tools/caption.py、tools/wd14_caption_gui对应的 WD14 标签器可批量生成 captiontools/resize_lora.py用于训练后调整 LoRA 尺寸。延伸阅读docs/Installation/Linux/Windows、uv/pip 四种安装组合的分步说明docs/LoRA/top_level.mdSDXL LoRA 训练参数细节docs/train_README.md数据集 TOML 配置、各训练方式的方法选择presets/按模型和场景分类的训练预设 JSONexamples/分阶段训练、批量 caption 等脚本示例test/手动端到端测试用的数据集与 TOML 配置装好环境后建议先用test/里的示例数据集跑通一次 LoRA 训练确认整条链路正常再换自己的数据正式开始预设文件配合样本图功能通常一两轮训练就能得到可迭代的参数基线。【免费下载链接】kohya_ss项目地址: https://gitcode.com/GitHub_Trending/ko/kohya_ss创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考