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