Stable Diffusion 使用记录

一段时间没有使用生图,本地的 Stable Diffusion 环境(Forge 和 ComfyUI)都出现问题。借此机会重新整理一遍使用要点,以便后续快速恢复。

主流 UI 对比

Stable Diffusion 的官方 WebUI 已停止维护,主要替代方案有两种:

Forge

  • 继承自官方 WebUI,保持了类似的操作方式
  • 界面直观,上手难度低
  • 功能完整,支持大部分扩展插件
  • 适合快速生成和实验

ComfyUI

  • 采用工作流(workflow)方式,以节点图表组织操作
  • 灵活性强,可精细控制每一步参数
  • 学习曲线陡峭,使用复杂度较高
  • 适合需要精细调试和工程化应用

ComfyUI 复用模型

如果已有 Stable Diffusion WebUI 的模型库,ComfyUI 可以直接复用,避免重复下载。

配置步骤:

  1. 找到 ComfyUI 根目录中的 extra_model_paths.yaml.example 文件
  2. 重命名为 extra_model_paths.yaml
  3. 编辑 base_path,指向 stable-diffusion-webui 所在目录(支持相对路径)

示例配置:

checkpoints: models/Stable-diffusion
configs: models/Stable-diffusion
vae: models/VAE
loras: |
  models/Lora
  models/LyCORIS
upscale_models: |
  models/ESRGAN
  models/RealESRGAN
  models/SwinIR
embeddings: embeddings
hypernetworks: models/hypernetworks
controlnet: models/ControlNet

配置后重启 ComfyUI,即可在 UI 中看到已有的模型。

常见问题

VRAM 不足警告

错误信息: This number is lower than the safe threshold; This may cause extreme slow performance

解决方案: 增加启动参数 --reserve-vram 2

bash ./webui.sh --reserve-vram 2

这会为系统保留 2GB 显存,降低 OOM 风险,但代价是生成速度会变慢。根据显卡显存调整数值。

生成黑色图像

原因: 模型使用了错误的 VAE

解决方案:

  1. 查看模型说明文档,确认使用的 VAE 类型
  2. 检查 VAE 文件是否已下载到正确位置(models/VAE/
  3. 在 WebUI 或 ComfyUI 中显式选择正确的 VAE
  4. 重新生成

常见的 VAE 类型有 vae-ema-pruned.safetensors(通用)和模型特定的 VAE。模型作者通常会在模型页面备注。

恢复建议

环境出现问题时,按以下顺序排查:

  1. 重新安装依赖pip install -r requirements.txt
  2. 检查 Python 和 CUDA 版本:确保兼容性
  3. 清理缓存:删除生成的临时文件
  4. 更新到最新版本:UI 和依赖库可能有修复
  5. 参考官方文档:Forge 和 ComfyUI 的 GitHub 仓库都有详细的故障排查指南

模型知识

模型文件格式

现在从 Civitai(C站)下载的模型主要有两种格式:

格式说明推荐度
safetensorsPyTorch 的安全序列化格式,执行时不运行任意代码,更安全⭐⭐⭐ 推荐
ckpt早期 Stable Diffusion 使用的 Pickle 格式,不安全,可能执行恶意代码⚠️ 不推荐

建议:优先选择 safetensors 格式的模型。

模型类型和位置

Safetensors 格式下还要细分为不同的用途,需要放在对应的目录中。根据配置文件,主要类型如下:

类型目录用途说明
Checkpointmodels/Stable-diffusion/基础模型主模型,定义了整个模型结构和权重
VAEmodels/VAE/编解码器将图像在像素空间和隐空间之间转换,影响图像质量
LoRAmodels/Lora/轻量级微调小文件,快速调整模型风格或细节,可叠加使用
LyCORISmodels/LyCORIS/高级微调LoRA 的改进版本,性能更优
Embeddingembeddings/提示词增强自定义概念或风格,通过提示词调用
ControlNetmodels/ControlNet/控制模块通过输入图像(如线稿、姿态)精确控制生成
Upscalemodels/ESRGAN/超分放大提升图像分辨率,包括 ESRGAN、RealESRGAN、SwinIR 等
Hypernetworkmodels/hypernetworks/风格转换较旧的微调方式,功能类似 LoRA

模型精度

模型文件通常有两种精度版本:

精度文件大小显存占用质量适用场景
fp32大(~7GB)最高,精度最好高端显卡、追求最高质量
fp16中等(~4GB)中等基本无差异大多数情况下的标准选择

建议:一般选择 fp16 版本,既能保证质量,又能节省显存。

模型优化

Pruned(剪枝)模型

  • 移除了模型中不必要的权重和参数
  • 文件大小更小(通常小 10-20%)
  • 质量影响微乎其微,肉眼难以察觉
  • 推荐使用,特别是在显存有限的情况下

常见模型对比

Stable Diffusion 1.5(SD 1.5)

  • 特点:早期主流模型,生态完善
  • 优势:资源消耗少、插件和 LoRA 最丰富、社区资源多
  • 劣势:生成能力相对较弱,需要精细的提示词调优
  • 适用:轻量级应用、老旧硬件

Stable Diffusion XL(SDXL)

  • 特点:改进的大模型,生成质量大幅提升
  • 优势:无需精细提示词、效果好、官方推荐
  • 劣势:显存占用较高(12GB+)、相比 1.5 体积更大
  • 适用:中高端硬件、追求高质量输出

Anima

  • 特点:专门为二次元、动漫风格优化的模型
  • 创建方:CircleStorm Labs 与 ComfyOrg 联合推出
  • 优势:动漫风格效果专业、支持识别日文提示词、优化了二次元生成能力
  • 必需组件
    • anima_baseV10_txt:基础模型文本编码器
    • qwen_image_vae:专用 VAE,用于图像编解码
  • 加速优化anima-turbo-lora 可减少步数至 8-12 步,大幅降低显存占用和生成时间
  • 适用:动漫和二次元创作

模型元数据

为模型添加预览图片和描述信息,便于在 UI 中快速识别和选择。

添加预览图:

在模型文件的同目录下,创建同名的预览图文件:

models/Stable-diffusion/my-model.safetensors
models/Stable-diffusion/my-model.webp          # 或 .jpg

UI 会自动识别并显示这个预览图。

编辑模型信息:

点击 UI 中模型缩略图右上角的配置图标,可以编辑模型的描述、标签等信息。

模型查询和存档

查询已下载模型的来源:

如果需要了解已下载模型文件的信息,可以计算其哈希值:

sha256sum model_name.safetensors

然后在 Civitai(C站)中搜索该哈希值。

模型已被删除的情况:

如果在 C 站找不到,可以到 Civitai Archive 查询归档版本。

使用技巧

Forge(WebUI)

预设和快速加载:

  • 在 Generate 按钮页面,有预设选项可设置基础风格的提示词,方便快速切换
  • 点击 Checkpoint 模型会自动加载到 UI,然后即可直接使用

LoRA 集成提示词:

  • LoRA 模型支持预设正向和反向提示词
  • 在 UI 中点击 LoRA 可将其提示词添加到输入框
  • 再次点击可移除
  • 注意:如果中途手动修改了提示词,UI 将无法正确识别和移除自动插入的部分

反推提示词:

  • Forge Neo 已删除了内置的反推功能
  • 可用 WD14 Tagger 插件替代(集成在 Forge 中)
  • 或使用独立工具 TagGui

ComfyUI

待补充工作流最佳实践。


最后修改于 2026-06-17