[ PROMPT_NODE_22770 ]
stable-diffusion-image-generation
[ SKILL_DOCUMENTATION ]
# Stable Diffusion 图像生成
使用 HuggingFace Diffusers 库进行 Stable Diffusion 图像生成的综合指南。
## 何时使用 Stable Diffusion
**在以下情况使用 Stable Diffusion:**
- 从文本描述生成图像
- 执行图像到图像的转换(风格迁移、增强)
- 修复(填充遮罩区域)
- 扩展(在边界外扩展图像)
- 创建现有图像的变体
- 构建自定义图像生成工作流
**主要特性:**
- **文本生成图像**:从自然语言提示词生成图像
- **图像生成图像**:在文本引导下转换现有图像
- **修复**:用上下文感知内容填充遮罩区域
- **ControlNet**:添加空间条件(边缘、姿势、深度)
- **LoRA 支持**:高效微调和风格适配
- **多种模型**:支持 SD 1.5, SDXL, SD 3.0, Flux
**建议使用替代方案:**
- **DALL-E 3**:用于无需 GPU 的 API 生成
- **Midjourney**:用于艺术化、风格化的输出
- **Imagen**:用于 Google Cloud 集成
- **Leonardo.ai**:用于基于 Web 的创意工作流
## 快速开始
### 安装
bash
pip install diffusers transformers accelerate torch
pip install xformers # 可选:内存高效注意力机制
### 基本文本生成图像
python
from diffusers import DiffusionPipeline
import torch
# 加载工作流(自动检测模型类型)
pipe = DiffusionPipeline.from_pretrained(
"stable-diffusion-v1-5/stable-diffusion-v1-5",
torch_dtype=torch.float16
)
pipe.to("cuda")
# 生成图像
image = pipe(
"A serene mountain landscape at sunset, highly detailed",
num_inference_steps=50,
guidance_scale=7.5
).images[0]
image.save("output.png")
### 使用 SDXL (更高质量)
python
from diffusers import AutoPipelineForText2Image
import torch
pipe = AutoPipelineForText2Image.from_pretrained(
"stabilityai/stable-diffusion-xl-base-1.0",
torch_dtype=torch.float16,
variant="fp16"
)
pipe.to("cuda")
# 启用内存优化
pipe.enable_model_cpu_offload()
image = pipe(
prompt="A futuristic city with flying cars, cinematic lighting",
height=1024,
width=1024,
num_inference_steps=30
).images[0]
## 架构概述
### 三支柱设计
Diffusers 基于三个核心组件构建:
Pipeline (编排)
├── Model (神经网络)
│ ├── UNet / Transformer (噪声预测)
│ ├── VAE (潜在编码/解码)
│ └── Text