TL;DR
目标:在本机跑通 Stable Diffusion 1.5 / SDXL,完成一次可验证的 LoRA 微调。前提:NVIDIA 显卡 8GB+,磁盘空余 30GB+,Python 3.10.11,Git 2.44+。本文只讲可复现步骤,不讲概念。
结论:先用 Automatic1111 或 ComfyUI 跑通推理,再用 kohya_ss 做 LoRA。新手别直接碰全量微调,显存和时间成本都不划算。我的测试环境:RTX 3060 12GB,Windows 11 23H2,首图生成约 7.8 秒,LoRA 训练 25 张图、1,500 steps,耗时 18 分钟。
1. 预备条件:别在错误环境里浪费时间
硬件最低线: NVIDIA CUDA 显卡 8GB 可跑 SD 1.5;12GB 更适合 SDXL + LoRA。CPU-only 可以试,但速度通常低于 1 it/s,基本只适合验证流程。
软件版本: Python 3.10.11、Git 2.44.0、CUDA 12.1 对应驱动 531+。Windows 建议关闭路径空格和中文目录;Linux 建议用 Ubuntu 22.04 LTS。
Warning: 不要把模型和训练集放在系统盘。LoRA 数据集、缓存、输出目录至少预留 30GB。磁盘不够时,最先坏的是缓存,其次是训练中断。
-
检查 GPU 与驱动。
nvidia-smi预期输出:显示 GPU 型号、驱动版本、显存占用,且无报错。
-
确认 Python 版本。
python --version预期输出:
Python 3.10.11或同系列 3.10.x。 -
确认 Git 可用。
git --version预期输出:
git version 2.44.0或更高。
2. 本地部署:先跑通推理,再谈微调
我建议两条线并行:Automatic1111 负责快速上手,ComfyUI 负责工作流和后续可视化排错。Stable Diffusion 本地部署教程里,最常见错误不是下载失败,而是依赖版本冲突。
-
拉取 Automatic1111。
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git预期输出:目录生成,无 404 / SSL 错误。
-
启动一次让它自动装依赖。
cd stable-diffusion-webui && webui-user.bat预期输出:首次启动会下载 torch、gradio 等包,最后出现本地地址
http://127.0.0.1:7860。 -
放入模型文件。
dir models\Stable-diffusion预期输出:目录存在。把
.safetensors模型放入该目录后,页面刷新可见模型名称。
Note: 下载模型时优先用 .safetensors,不要优先用老式 .ckpt。前者更稳,加载报错率更低。
验证是否成功:输入提示词 a red industrial robot, studio lighting,点击生成。若 1024x1024 图像 8~15 秒内出图且无 CUDA OOM,推理层已正常。
3. LoRA 微调:只做小步迭代,别上来就全量训练
LoRA 训练是 Stable Diffusion 模型微调里最实用的路径。我的实测里,25 张主体图、分辨率统一到 768、batch size 1、network dim 16,足够做出风格稳定的基础版。
-
准备数据集。
每张图统一主体清晰、角度多样、背景尽量简单。推荐 20~40 张。文件名用英文,避免标注工具乱码。
-
安装 kohya_ss。
git clone https://github.com/bmaltais/kohya_ss.git预期输出:仓库克隆完成,目录下有训练脚本和 GUI 启动文件。
-
启动训练界面。
./gui.shWindows 下用对应 bat 文件。预期输出:浏览器打开训练面板,无缺失依赖报错。
-
关键参数。
network_dim=16network_alpha=16max_train_steps=1500learning_rate=1e-4预期输出:训练日志稳定递增,loss 从约 0.9 逐步下降到 0.2~0.4 区间,不应出现 NaN。
Warning: 训练集标签不要过度堆砌。caption 太长会让模型学到无关信息。先保守标注,再根据出图结果补标签。
怎么判断微调有效:用固定提示词生成 4 张图,检查主体一致性。若主体特征可重复出现,且风格不过拟合,LoRA 可用。若每张都像不同人,通常是数据集不一致;若输出像训练集原图复读,通常是 steps 过高。
4. 常见故障与快速修复
-
CUDA out of memory。 降分辨率到 512/768,batch size 改 1,启动参数加
--medvram或--xformers。set COMMANDLINE_ARGS=--medvram --xformers预期输出:启动日志里显示启用节省显存模式。
-
模型加载失败。 检查文件是否完整,优先使用
.safetensors。校验文件大小是否与下载页一致。 -
训练 loss 不下降。 先查图片质量,再查 caption,再查学习率。不要先改十个参数。
Note: 如果你在做“Stable Diffusion 本地部署教程”或“Stable Diffusion LoRA 微调怎么用”的搜索,核心不是装上就完,而是能复现、能验证、能定位故障。
如果你只想要一个省事的替代方案,也可以把本地部署、模型切换和基础工作流交给成熟平台做起步,但前提仍然是你先理解上面这套安装、训练、验证链路。商都加速器在这条路上只是一个可选项,不是必选项。
References
AUTOMATIC1111 GitHub
kohya_ss GitHub