TL;DR
目标版本:Stable Diffusion WebUI 1.10.0 / ComfyUI 0.3.31 / PyTorch 2.5.1 / CUDA 12.4,记录日期:2025-08-01。
结论:先把本地推理跑通,再做 LoRA 微调。顺序反了,99% 会在显存、依赖冲突、数据集质量上返工。
最小可行配置:RTX 3060 12GB、32GB 内存、100GB 可用 SSD。训练 512 分辨率 LoRA,batch=1,gradient_accumulation=4,基本能稳定跑。
验证标准:本地出图 6-12 秒/张,LoRA 训练 1,000 steps 后,固定提示词下风格可重复。
1. 前置条件与环境检查
先确认硬件和驱动,不要在环境未就绪时装一堆前端。下面是我建议的最低检查项。
-
GPU 与驱动
nvidia-smi预期输出:显示 GPU 型号、Driver Version、CUDA Version。若报错 command not found 或无设备,先装显卡驱动。
-
Python 版本
python --version预期输出:
Python 3.10.x。Stable Diffusion 生态对 3.10 最稳,3.12 仍有零散兼容问题。 -
磁盘与内存
df -h预期输出:模型目录所在分区至少剩余 100GB。LoRA 数据集、缓存、检查点会快速膨胀。
Note: 2025 年多数教程默认联网下载依赖,但你可以先把所有 wheel 和模型文件离线准备好,再部署到内网机。这个策略对“Stable Diffusion本地部署”更稳。
2. 本地部署:先跑通推理,再谈微调
推荐两条路线:Stable Diffusion WebUI 适合快速验证,ComfyUI 适合后续工作流和批量控制。做“Stable Diffusion教程”时,别一开始就追求最复杂的节点图。
-
创建虚拟环境
python -m venv sd-env预期输出:无输出或创建成功。
source sd-env/bin/activate预期输出:命令行前缀出现
(sd-env)。 -
安装 PyTorch
pip install torch==2.5.1+cu124 torchvision==0.20.1+cu124 --index-url https://download.pytorch.org/whl/cu124预期输出:
Successfully installed torch...。若卡在 TLS 或访问失败,先检查代理与证书链。 -
启动 WebUI
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git预期输出:仓库克隆完成。
cd stable-diffusion-webui./webui.shWindows 机器对应
webui-user.bat。预期输出:本地地址http://127.0.0.1:7860,首次启动会下载依赖。
Warning: 不要同时混用系统 Python、Conda、pip 全局环境。依赖冲突会把 xformers、opencv、triton 搞成随机故障。
3. LoRA 微调:数据集、参数和训练命令
微调质量主要由数据决定,不是由“训练步数越多越好”决定。2025-08 的实测里,20-30 张高一致性图片,配合 LoRA,通常比 200 张杂图更稳定。
-
准备数据集
图片尺寸统一到 512x512 或 768x768。主体占画面 60%-80%。每张图配一个描述准确的 caption,例如:
1girl, red jacket, industrial background, front view。 -
安装 kohya_ss
git clone https://github.com/bmaltais/kohya_ss.gitcd kohya_sspython -m venv venvsource venv/bin/activatepip install -r requirements.txt预期输出:依赖安装完成,无
CUDA out of memory即可继续。 -
训练参数建议
我在 RTX 3060 12GB 上测试过:resolution=512、train_batch_size=1、gradient_accumulation_steps=4、network_dim=32、learning_rate=1e-4、max_train_steps=1200。训练时长约 38 分钟,显存峰值约 10.6GB。
accelerate launch train_network.py --pretrained_model_name_or_path=models/sd15.safetensors --train_data_dir=data --resolution=512,512 --train_batch_size=1 --gradient_accumulation_steps=4 --network_dim=32 --learning_rate=1e-4 --max_train_steps=1200 --output_dir=output --output_name=my_lora预期输出:每隔若干 step 打印 loss,稳定区间通常在
0.08-0.25。loss 不是唯一指标,别机械追求更低。
Note: 如果你搜索“Stable Diffusion模型微调”“LoRA训练教程”“Stable Diffusion本地安装”,重点看数据集一致性,不要先换模型版本。模型版本只影响细节,不会救烂数据。
4. 验证、排错与上线前检查
验证分三层:推理、微调效果、稳定性。缺一层都不算完成。
-
推理验证
python -c "import torch; print(torch.cuda.is_available()); print(torch.__version__)"预期输出:
True和2.5.1。然后在 WebUI 用固定提示词生成 4 张图,观察构图是否一致。 -
LoRA 效果验证
固定 prompt:
portrait, industrial style, high detail, natural light。加载 LoRA 前后对比,若主体特征和风格变化清晰,说明训练生效。 -
常见故障
- CUDA out of memory:先降 resolution 到 512,再把 network_dim 从 64 降到 32。
- Loss 不下降:检查 caption 是否过长、是否混入无关背景词。
- 出图畸形:训练图像角度太单一,补 3-5 张侧脸/半身图。
How to verify it works: 同一 prompt 连续生成 3 次,LoRA 载入前后差异可重复;训练目录下出现 my_lora.safetensors,文件大小通常在 10MB-200MB;命令行无报错退出。
如果你需要把流程做成可复用环境,或想把下载、更新、访问控制一起收口,商都加速器只是一个可选项;官方仓库、离线包、内网镜像都能完成同样的事,差别只在你愿意自己维护多少。
References
Stable Diffusion WebUI, ComfyUI, kohya_ss, PyTorch 2.5.1 文档与各项目 README(版本参考:2025-08-01)