入门 Stable Diffusion(SD)开发,可以按「先会用 → 再改模型 → 最后做开发」的路线走。下面是一份比较系统的入门指南。
一、先搞清楚 Stable Diffusion 是什么
Stable Diffusion 是一类扩散模型(Diffusion Model),主要用于:
- 文生图(Text-to-Image)
- 图生图(Image-to-Image)
- 局部重绘(Inpainting)
- 模型微调(LoRA / DreamBooth)
核心组件一般包括:
- CLIP:理解文本
- UNet:去噪生成图像
- VAE:压缩 / 还原图像
二、最快上手:先用现成工具(不写代码)
1. 使用 WebUI(强烈推荐新手)
✅ 适合:
- 理解参数(prompt、step、cfg、sampler)
- 体验模型效果
三、环境准备(开发必备)
1. 硬件建议
- GPU:NVIDIA(≥8G 显存较舒服)
- 系统:Windows / Linux
- CUDA:11.8 或 12.x
2. Python 环境
conda create -n sd python=3.10
conda activate sd
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu118
四、用代码跑通第一个 SD(开发入门)
1. 使用 Hugging Face Diffusers
pip install diffusers transformers accelerate
2. 最小示例
from diffusers import StableDiffusionPipeline
import torch
pipe = StableDiffusionPipeline.from_pretrained(
"runwayml/stable-diffusion-v1-5",
torch_dtype=torch.float16
).to("cuda")
image = pipe("a cat wearing sunglasses").images[0]
image.save("cat.png")
✅ 这是最关键的开发起点
五、理解关键开发概念
1. Pipeline(推理流程)
常见:
StableDiffusionPipelineStableDiffusionImg2ImgPipelineStableDiffusionInpaintPipeline
2. 常用参数
pipe(
prompt,
negative_prompt,
num_inference_steps=30,
guidance_scale=7.5
)
3. 模型结构(进阶)
- UNet(
pipe.unet) - Text Encoder(
pipe.text_encoder) - VAE(
pipe.vae)
六、做“开发级”事情
✅ 1. 使用 LoRA
from peft import PeftModel
# 或 WebUI 直接加载
✅ 2. ControlNet(可控生成)
- 姿态、边缘、深度控制
- 开发常用:
controlnet + diffusers
✅ 3. 微调模型
- DreamBooth:少量图片训练角色
- LoRA:轻量微调
- 全量微调:成本高,不推荐新手
七、推荐学习路径
新手(1–2 周)
- WebUI 使用
- Prompt 工程
- 模型 / LoRA 下载
初级开发(1 个月)
- Diffusers 推理
- 参数调优
- ControlNet 使用
进阶开发(3 个月+)
- 模型结构修改
- 自定义 Pipeline
- 微调 / 部署
八、学习资源推荐
- Hugging Face 官方文档
- B 站 / YouTube:SD 教程
- GitHub:
- diffusers
- ComfyUI(节点式开发)
- AUTOMATIC1111
如果你愿意,可以告诉我:
- 你是 纯新手 / 有 Python 基础 / 有深度学习基础
- 想做 绘画 / 产品 / 科研 / 部署
我可以直接给你定制学习路线 + 代码样例。