kohya_ss从 docker compose up 到第一个 LoRA 的 AI 模型训练实践【免费下载链接】kohya_ss项目地址: https://gitcode.com/GitHub_Trending/ko/kohya_sskohya_ss 是一个图形化的 AI 模型训练工具。一条 docker compose 命令即可拉起支持 SD 1.5、SDXL、SD3、Flux.1 等模型的训练环境覆盖 LoRA、Dreambooth、全量微调等用法。本文按从部署到跑通第一次训练的完整流程来讲。它能做的三件事训练一个风格 LoRA把一批统一风格的图放进训练集kohya_ss 会把这个风格学成几十 MB 大小的 LoRA 文件。之后在任何兼容底模里加载它就能生成同风格的新图。这是最常见的用法消费级显卡上一次训练通常不到一小时。个性化某个特定主体给同一角色 10~30 张照片它可以学到这张脸和标志性细节生成时用触发词就能呼出这个人。仓库自带一份测试数据集和配套的数据集配置放在 test/ 目录下可以先用它跑通一次完整训练来验证环境成本很低。微调不同的模型架构除了 LoRA还有全量微调finetuning和 Textual Inversion。底模覆盖 SD 1.5/2.x、SDXL、SD3、Flux.1、Lumina Image 2.0、Anima、HunyuanImage-2.1。当你要提升底模在某一类图上的整体表现或给模型词汇表加入全新概念时这两种方式比 LoRA 更合适。一条命令跑通 kohya_ss 部署开始前确认三件事已安装 Docker 并处于运行状态Windows 使用 WSL2 后端NVIDIA GPU 驱动正常nvidia-smi能看到显卡且已安装 NVIDIA Container Toolkit预留约 20GB 磁盘空间存放模型与缓存然后在项目根目录执行git clone --recursive https://gitcode.com/GitHub_Trending/ko/kohya_ss cd kohya_ss docker compose up -d--recursive不能省训练脚本是子模块漏掉会跑不起来。docker-compose.yaml 里定义了两个容器kohya-ss-gui 提供训练界面7860 端口tensorboard 提供训练曲线默认 6006 端口。浏览器不会自动打开手动访问 http://localhost:7860 看到带 LoRA、微调等页签的 kohya_ss 界面就算部署成功。数据方面把文件都放进dataset/目录图片放dataset/images训练日志和产出分别落在dataset/logs、dataset/outputs。compose 文件会把它们挂进容器容器随时可以销毁重建数据始终留在宿主机。完整跑一次 LoRA 训练以训练一个风格 LoRA 为例过程分四步。准备数据在dataset/images/下建一个专门文件夹放入 20~50 张同风格图片每张图旁边放同名.txt文件写一行描述。再写一个 TOML 格式的数据集配置指明图片文件夹image_dir、一个自造的触发词class_tokens例如 [V] fantasystyle、重复次数num_repeats和说明文件后缀。仓库里的 test/config/dataset.toml 就是一个可用示例照它的格式写即可。选一组 LoRA 训练参数原则ranknetwork_dim决定网络容量从 16 起步看到过拟合样本图和训练图长得太像就调低 rank 与学习率欠拟合再往上加。学习率和优化器的组合因底模而异不建议硬记presets/lora/目录里有一批按 SD 1.5、SDXL 分开整理好的预设 JSON选一份就是稳妥的起点。分辨率按底模走SD 1.5 用 512SDXL 用 1024。启动训练在 GUI 的 LoRA 页签填入底模路径、数据集配置文件路径、网络参数和输出位置。注意容器内没有文件选择器路径需要手动输入dataset 目录在容器内挂载为/dataset所以填容器内路径。启动后训练过程中 GUI 会定期生成一批样本图。查看结果先看样本图风格对、且没有过拟合到只剩一种死样基本就可以停了。再打开 http://localhost:6006 的 TensorBoard 看损失曲线下降后趋平即可。训练出的 LoRA 文件位于宿主机dataset/outputs/可直接拿到 ComfyUI 或 WebUI 里使用。常见坑与提速办法页面打不开或训练报 GPU 错误说明容器没识别到显卡。先确认nvidia-smi正常、NVIDIA Container Toolkit 已安装再docker compose down docker compose up -d重建用docker compose logs kohya-ss-gui看具体报错。训练中途 OOMCUDA out of memory先降分辨率再减 batch_size还不够就开启梯度检查点用计算换显存。7860 或 6006 端口被占用改 docker-compose.yaml 里端口映射的左侧数字即可TensorBoard 端口也可以用.env里的 TENSORBOARD_PORT 覆盖。第一次训练慢、之后明显变快是因为首次需要把所有图编码成 latent开启 latent 缓存cache_latents会把它写入磁盘第二次训练直接跳过这一步。小贴士presets/lora/下的预设 JSON 是现成参数组自己调好的参数也可以存成预设放到presets/lora/user_presets/升级镜像用docker compose down docker compose up -d --pull always数据都在宿主机目录里不会丢从第一次训练开始建议先用 test/ 下的示例数据跑通一次完整训练确认环境端到端没问题再换成自己的数据。参数先用预设起步看到样本图之后再动 rank 和学习率。第一次的目标是产出一个能用的 LoRA而不是把每个参数都调到最优。【免费下载链接】kohya_ss项目地址: https://gitcode.com/GitHub_Trending/ko/kohya_ss创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
阅读完成 · 觉得有帮助?