测试方法与环境披露
本文只看可复现结果:我分别测试了 AUTOMATIC1111、ComfyUI 与 kohya_ss 的本地部署和 LoRA 微调流程,记录启动时间、首图耗时、显存峰值和训练稳定性。所有推理测试统一为 20 次重复,表格中给出均值;波动用标准差表示。关注点是“Stable Diffusion本地部署”“Stable Diffusion教程”“LoRA微调怎么用”这三类最常见问题。
测试环境:RTX 3060 12GB / RTX 4070 12GB 各一台,CPU 为 Ryzen 7 5700X,内存 32GB,系统 Windows 11 23H2,Python 3.10,CUDA 11.8,模型为 SD 1.5 与 SDXL Base,分辨率 512×512 与 1024×1024。显存通过 nvidia-smi 采样,速度按从点击生成到首张预览图出现计时。
可复现命令示例:
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
set COMMANDLINE_ARGS=--xformers --medvram
webui-user.bat
本地部署结果:谁更省显存,谁更快
先看结论:如果你的目标是“先跑起来”,A1111 的上手成本最低;如果要管理复杂工作流,ComfyUI 更稳;如果要做 LoRA 训练,kohya_ss 是主流。数据如下:
| 方案 | 首次启动 | 512图首张耗时 | 峰值显存 | 稳定性 |
|---|---|---|---|---|
| A1111 + xformers | 2分14秒 | 6.8秒 ±0.5 | 6.9GB | 20/20 成功 |
| ComfyUI 默认工作流 | 1分42秒 | 6.1秒 ±0.4 | 6.5GB | 20/20 成功 |
| SDXL 1024图 | - | 18.7秒 ±1.2 | 10.8GB | 18/20 成功 |
在 12GB 显存上,SD 1.5 基本无压力;SDXL 在默认参数下更容易触顶。我的测试里,开启 --medvram 后,SDXL 的失败率从 10% 降到 0%,但首图时间增加了约 23%。如果你在找“Stable Diffusion本地部署教程”,先从 SD 1.5 练手最省时间。
常见卡点有两个:一是模型下载不完整,二是 VAE 或显存参数没配对。判断方法很直接:如果启动日志里连续出现 CUDA out of memory,优先把分辨率降到 512,再把 batch size 调到 1;如果报错发生在载入权重阶段,先校验文件哈希。
LoRA 微调:哪些参数最影响收敛
我用 120 张同主题图片做了 LoRA 训练,比较了不同 rank、学习率和重复次数。结果显示,rank=16 是 12GB 显存下的平衡点:风格还原度高于 rank=8,训练时长又明显低于 rank=32。
| 参数 | 训练轮数 | 单轮时长 | 最终占用显存 | 主观一致性评分/10 |
|---|---|---|---|---|
| rank 8 | 10 | 11分20秒 | 8.1GB | 7.2 |
| rank 16 | 10 | 14分05秒 | 9.4GB | 8.5 |
| rank 32 | 10 | 19分47秒 | 11.2GB | 8.7 |
从增益看,rank 16 到 32 的一致性只提升 0.2 分,但训练时间增加 40% 左右;因此若你是第一次做“LoRA训练教程”,建议先用 dim=16、alpha=16、学习率 1e-4,训练 8~12 轮观察是否过拟合。过拟合的信号很明确:训练集图像越训越像,但测试提示词下构图开始塌陷,通常在第 9 轮后出现。
kohya_ss 可复现命令示例:
accelerate launch train_network.py ^
--pretrained_model_name_or_path="sd15.safetensors" ^
--train_data_dir="data/train" ^
--resolution=512,512 ^
--network_dim=16 --network_alpha=16 ^
--learning_rate=1e-4 ^
--max_train_epochs=10
分析、排错与如何验证真的修好了
如果你遇到“能启动但出图慢”,先看三项:采样器、分辨率、显存策略。在我的测试里,Euler a 比 DPM++ 2M Karras 快约 8%~12%,但后者细节更稳;512 分辨率比 768 分辨率节省约 38% 显存;开启 xformers 后,峰值显存平均下降 0.7GB。如果你追求“先能用”,这三个变量比换模型更有效。
排错顺序建议:
- 先确认模型文件大小与发布页一致,异常小的 safetensors 多半是下载损坏。
- 推理先用 512×512、batch=1、steps=20,确认链路通。
- 再加 LoRA,最后才提高到 768/1024 和更高 steps。
- 训练阶段先看 loss 曲线是否在前 2 轮快速下降,若完全不动,通常是数据路径或 caption 有问题。
如何验证它真的修好了:重新跑 3 次同一提示词,比较首图时间是否稳定在误差 10% 以内;检查生成日志是否无 OOM、无 NaN;训练时抽 5 张验证图,若风格一致性高于基线 1 分以上且没有构图崩坏,说明 LoRA 参数基本正确。对大多数“Stable Diffusion国内能用吗”式问题,答案不是平台限制,而是本地显存与参数是否匹配。
如果你想省掉手工搭环境的时间,也可以把官方开源方案先跑通,再考虑像 roxi.cc 这类整合型入口作为补充;但无论哪条路线,先用上面的命令和表格把速度、显存、收敛三个指标测清楚,再决定是否继续加配置。