CompVis/stable-diffusion · 上手攻略

  • 仓库:CompVis/stable-diffusion
  • 链接:https://github.com/CompVis/stable-diffusion
  • 分类:ai · text-to-image
  • 作者:Tom
  • 更新:2026-08-17

这是什么

Stable Diffusion 是 CompVis 团队(海德堡大学)开发的潜在扩散模型(Latent Diffusion Model),通过文本提示生成照片级图像。该项目是 Stability AI 和 Runway 合作的产物,在 2022 年 CVPR 以 Oral 论文发表,相关论文 High-Resolution Image Synthesis with Latent Diffusion Models 引用量极高。

原始仓库提供 v1 系列检查点(含 v1-1 / v1-2 / v1-3 / v1-4 四个版本),模型权重通过 Hugging Face 的 CompVis 组织分发,使用 CreativeML OpenRAIL M 许可证(允许商业使用,但有特定限制条款)。

⚠️ 重要区分:此仓库(CompVis/stable-diffusion)仅包含 v1 系列。Stable Diffusion v2 / v2.1 由 Stability AI 另行发布,不在本仓库范围内。主流社区目前更多使用基于 v1 的衍生模型(如 Stable Diffusion XL / SDXL)或通过 Hugging Face Diffusers 库调用。


解决什么问题

传统 Diffusion 模型(如 DALL-E、Imagen)直接在像素空间运行,计算成本极高。Stable Diffusion 通过引入自动编码器(VAE)将图像压缩到低维潜在空间,将扩散过程从像素空间转移到潜在空间,大幅降低计算需求:

  • 860M 参数 UNet + 123M 参数 CLIP ViT-L/14 文本编码器
  • 最低 10GB VRAM 即可运行(FP16),比同期 Imagen 便宜一个数量级
  • 支持 512×512 原生分辨率生成

这使得 AI 图像生成首次在消费级 GPU 上成为现实。


快速安装

环境准备

# 方式一:使用 conda 创建独立环境(推荐)
conda env create -f environment.yaml
conda activate ldm

# 方式二:更新现有 latent diffusion 环境
conda install pytorch torchvision -c pytorch
pip install transformers==4.19.2 diffusers invisible-watermark
pip install -e .

获取模型权重

# 从 Hugging Face 下载权重(需注册并同意条款)
# https://huggingface.co/CompVis/stable-diffusion-v1-4(推荐 v1-4,最终版本)
# https://huggingface.co/CompVis/stable-diffusion-v1-2
# https://huggingface.co/CompVis/stable-diffusion-v1-3

# 创建目录并软链接权重
mkdir -p models/ldm/stable-diffusion-v1/
ln -s /path/to/model.ckpt models/ldm/stable-diffusion-v1/model.ckpt

依赖说明(基于 GitHub README,版本可能已过时)

⚠️ 依赖版本未标注确切性,以下为 README 原始记录,建议优先使用 Hugging Face Diffusers 方式调用: - transformers==4.19.2 - diffusers - invisible-watermark


核心用法

方式一:官方采样脚本(原始方法)

# 基本文本生成
python scripts/txt2img.py \
  --prompt "a photograph of an astronaut riding a horse" \
  --plms \
  --scale 7.5 \
  --ddim_steps 50

# 参数说明:
# --plms         使用 PLMS 采样器(替代 DDIM)
# --scale 7.5    引导尺度(越高越贴合提示词,默认 7.5)
# --ddim_steps 50  采样步数(越多越精细,默认 50)
# --H 512 --W 512  输出分辨率(默认 512×512)
# --n_iter 2       生成批次数量
# --seed 42        随机种子(可复现)

输出默认保存到 outputs/txt2img-samples/,包含单图和网格汇总图。

方式二:Hugging Face Diffusers(推荐,版本更现代)

# pip install diffusers transformers torch

from diffusers import StableDiffusionPipeline, DPMSolverMultistepScheduler
import torch

# 加载 v1-4 模型
model_id = "CompVis/stable-diffusion-v1-4"
pipe = StableDiffusionPipeline.from_pretrained(model_id, torch_dtype=torch.float16)

# 使用 DPM-Solver++(更快收敛)
pipe.scheduler = DPMSolverMultistepScheduler.from_config(
    pipe.scheduler.config,
    use_karras_sigmas=True
)

pipe = pipe.to("cuda")

# 生成图像
image = pipe(
    prompt="a serene lake at sunset with mountains in the background",
    num_inference_steps=25,
    guidance_scale=7.5,
    height=512,
    width=512
).images[0]

image.save("generated_image.png")

v1 系列检查点演进

版本 训练步数 数据集 特点
v1-1 237k (256×256) + 194k (512×512) laion2B-en 随机初始化基础版
v1-2 在 v1-1 基础上 515k 步 laion-aesthetics v2 5+ 美学质量提升
v1-3 在 v1-2 基础上 195k 步 同上 + 10% text-conditioning drop CFG 采样更稳定
v1-4 在 v1-3 基础上继续训练 同上 推荐使用最终版

典型适用场景

  • 艺术创作:插画、概念图、品牌视觉素材生成
  • 游戏/影视概念设计:快速生成场景、角色、道具参考图
  • 图像修复与编辑:结合 inpainting / img2img 进行局部修改
  • 学术研究:扩散模型研究与教学演示
  • 产品原型:在 UI/UX 设计中快速可视化想法

坑与注意

  1. 仅限 v1,v2 不在此仓库:如果需要 SD v2/v2.1 / SDXL,应使用 Stability AI 官方仓库或 Hugging Face 上的对应模型(如 stabilityai/stable-diffusion-2-1
  2. 10GB VRAM 门槛:非量化版本需要约 10GB,RTX 3080 / RTX 3090 可正常运行;更轻量可配合量化(如 4-bit GPTQ)或使用 SD-Turbo 等加速版
  3. CLIP 文本编码器固定:无法原生支持中文提示词,需使用多语言编码器(如 multilingual CLIP)或翻译成英文
  4. 数据偏见:训练数据来自 LAION-5B 子集,存在训练数据中的社会偏见,生成结果可能反映这些偏见
  5. 安全过滤器(Safety Checker):内置 NSFW 检测器可能过度过滤(产生黑块),社区版(如 DeepFLUX)常将其移除
  6. 水印:输出图像包含不可见水印(基于 invisible-watermark),有助于溯源但并非 100% 可靠
  7. 许可证限制:CreativeML OpenRAIL M 禁止某些特定用途(如危害人权、生成虚假信息等),商业使用需自行确认合规性

与同类对比

模型 特点 对比 SD v1
DALL-E 3 OpenAI 闭源,GPT-4 理解提示词能力极强 SD 开源可本地运行,DALL-E 3 质量更高但需付费
Midjourney Discord 交互,社区生态成熟 SD 可本地部署,Midjourney 艺术风格更鲜明
Adobe Firefly 商业友好许可证,Adobe 生态集成 SD 生态更丰富,Firefly 合规性更强
SDXL (Stability AI) v1 的重大升级,1024×1024 原生 SDXL 质量更高但资源需求更大,v1 在低配置设备仍有优势
FLUX (Black Forest Labs) 2024年新模型,细节质量超越 SDXL v1 已非 SOTA,但 FLUX 未开源,v1 仍有参考价值

一句话推荐结论

Stable Diffusion v1 把 AI 图像生成从"科研论文"变成"人人可跑的生产工具"——如果你需要本地部署、无需审核、可定制的文生图方案,CompVis 原始仓库是理解原理的最佳起点,而通过 Diffusers 调用是最实用的上手方式。


原始资源

  • GitHub: https://github.com/CompVis/stable-diffusion
  • Hugging Face: https://huggingface.co/CompVis/stable-diffusion
  • 论文:High-Resolution Image Synthesis with Latent Diffusion Models (CVPR 2022 Oral)
  • 许可证:CreativeML OpenRAIL M License(商业可用,有限制条款)
  • GitHub Stars: 数据未在原始 README 中标注(建议以 HF 页为准)
  • ⚠️ 注:本仓库仅包含 v1 系列;v2 / SDXL / FLUX 等更新版本不在此仓库