11-Stable Diffusion本地部署
"Stable Diffusion本地部署的意义不只是免费,更在于完全的控制权。你可以用任何模型、任何风格、任何方式创作,没有限制。"
本章导读
Stable Diffusion是目前最强大的开源AI绘画模型。与Midjourney等在线服务不同,SD可以完全部署在本地,这意味着:
- 无需付费订阅,一次投入长期使用
- 无内容审核限制
- 可以使用数万个社区模型
- 可以训练自己的模型(LoRA)
- 可以精确控制画面(ControlNet)
但本地部署有一定技术门槛。本章将手把手教你完成部署,让你从零开始掌握SD。
核心原则
原则一:硬件是前提,显卡决定体验
原则二:WebUI上手容易,ComfyUI更灵活
原则三:模型选择决定风格和质量
原则四:ControlNet是精确控制的关键
一、硬件要求
1.1 显卡需求
NVIDIA显卡要求:
| 显卡 | 显存 | 体验 | 适合 |
|---|---|---|---|
| RTX 4090 | 24GB | ★★★★★ | 专业用户/高分辨率 |
| RTX 4080 | 16GB | ★★★★★ | 专业用户 |
| RTX 4070Ti | 12GB | ★★★★☆ | 进阶用户 |
| RTX 4060Ti 16G | 16GB | ★★★★☆ | 性价比之选 |
| RTX 3060 | 12GB | ★★★☆☆ | 入门推荐 |
| RTX 3050 | 8GB | ★★☆☆☆ | 勉强可用 |
| GTX 1660 | 6GB | ★☆☆☆☆ | 非常勉强 |
显存与体验的关系:
6GB: 可以生成512x512,速度慢,限制多
8GB: 可以生成512x768,基本够用
12GB: 可以生成1024x1024,舒适使用
16GB+:高分辨率/大批量/复杂工作流
24GB: 几乎无限制
1.2 其他配置
| 配置项 | 最低要求 | 推荐配置 |
|---|---|---|
| CPU | 6核以上 | 8核以上 |
| 内存 | 16GB | 32GB |
| 硬盘 | 50GB SSD | 200GB+ NVMe SSD |
| 系统 | Windows 10/11 或 Linux | Windows 11 |
1.3 没有好显卡怎么办
替代方案:
| 方案 | 优点 | 缺点 | 费用 |
|---|---|---|---|
| 云GPU服务 | 按需使用 | 需要配置 | ¥1-5/小时 |
| 在线平台 | 无需配置 | 功能受限 | 免费/付费 |
| Google Colab | 免费GPU | 不稳定,限制多 | 免费 |
| 租用算力 | 高性能 | 成本较高 | 按时计费 |
二、安装WebUI
2.1 什么是WebUI
WebUI = Stable Diffusion的图形操作界面
最流行的WebUI:
├── AUTOMATIC1111 WebUI(最流行,插件多)
├── Forge(优化版,速度快)
├── ComfyUI(节点式,最灵活)
└── Fooocus(简化版,最易用)
新手建议:从Forge或AUTOMATIC1111开始
进阶建议:学习ComfyUI
2.2 安装步骤(Windows)
方法一:整合包安装(推荐新手)
1. 下载整合包
├── 秋叶整合包(B站搜索"秋叶SD整合包")
└── 包含WebUI + 常用模型 + 一键启动
2. 解压到本地
├── 建议放在SSD
├── 路径不要有中文
└── 需要较大空间(50GB+)
3. 运行启动器
├── 双击启动器.exe
└── 自动打开浏览器界面
优点:最简单,新手友好,自带中文
方法二:手动安装
Step 1: 安装Python 3.10
├── 下载:python.org
├── 安装时勾选"Add to PATH"
└── 验证:命令行输入 python --version
Step 2: 安装Git
├── 下载:git-scm.com
└── 安装默认选项即可
Step 3: 克隆WebUI
├── 打开命令行
├── cd 到目标目录
└── 运行:
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
Step 4: 首次运行
├── 进入webui目录
├── 双击 webui-user.bat
├── 首次运行会自动下载依赖
└── 等待完成后自动打开浏览器
2.3 首次使用
界面介绍:
WebUI主界面:
┌─────────────────────────────────────────┐
│ txt2img │ img2img │ Extras │ ... │ ← 功能标签
├─────────────────────────────────────────┤
│ │
│ Prompt(正向提示词) │
│ ┌─────────────────────────────────┐ │
│ │ │ │
│ └─────────────────────────────────┘ │
│ │
│ Negative Prompt(负向提示词) │
│ ┌─────────────────────────────────┐ │
│ │ │ │
│ └─────────────────────────────────┘ │
│ │
│ [Generate] 按钮 │
│ │
│ ┌─────────┐ ┌─────────────────────┐ │
│ │ 参数设置 │ │ 生成结果区域 │ │
│ │ 采样器 │ │ │ │
│ │ 步数 │ │ │ │
│ │ 尺寸 │ │ │ │
│ │ ... │ │ │ │
│ └─────────┘ └─────────────────────┘ │
└─────────────────────────────────────────┘
第一张图:
1. 确保已加载模型
└── 左上角选择Checkpoint模型
2. 输入Prompt
正向:1girl, cute, smile, flower garden
负向:low quality, bad anatomy
3. 设置参数
├── Sampling method: DPM++ 2M Karras
├── Sampling steps: 20
├── Width: 512
├── Height: 768
└── CFG Scale: 7
4. 点击Generate
└── 等待生成完成
三、模型选择与下载
3.1 模型类型
Stable Diffusion模型类型:
Checkpoint模型(大模型):
├── 决定整体风格和能力
├── 文件大小:2-7GB
├── 格式:.safetensors / .ckpt
└── 放在:models/Stable-diffusion/
LoRA模型(小模型):
├── 叠加在大模型上微调效果
├── 可以添加特定风格/角色
├── 文件大小:10-200MB
├── 格式:.safetensors
└── 放在:models/Lora/
VAE模型:
├── 影响色彩和清晰度
├── 通常随模型配套
└── 放在:models/VAE/
Embedding/Textual Inversion:
├── 文本嵌入,用于特定效果
├── 文件很小
└── 放在:embeddings/
3.2 模型下载源
主要下载平台:
| 平台 | 特点 | 地址 |
|---|---|---|
| Civitai | 最大模型社区,模型最多 | civitai.com |
| Liblib | 国内平台,中文友好 | liblib.art |
| Hugging Face | 官方模型源 | huggingface.co |
3.3 推荐模型
写实类模型:
├── Realistic Vision V6.0
│ └── 高质量写实人像
├── ChilloutMix
│ └── 亚洲人像优化
├── Photon
│ └── 摄影质感
└── majicMIX realistic
└── 真实感强
二次元模型:
├── AnythingV5
│ └── 经典二次元模型
├── Counterfeit V3.0
│ └── 高质量动漫
├── MeinaMix
│ └── 风格独特
└── AbyssOrangeMix3
└── 色彩丰富
综合模型:
├── DreamShaper
│ └── 多风格通用
├── RevAnimated
│ └── 半写实风格
└── Deliberate
└── 综合能力强
SDXL模型(需要较高配置):
├── SDXL Base
│ └── 官方基础模型
├── Juggernaut XL
│ └── 高质量写实
└── Pony Diffusion XL
└── 特定风格
3.4 模型安装
安装模型步骤:
1. 下载模型文件
└── .safetensors格式
2. 放入对应文件夹
├── Checkpoint → models/Stable-diffusion/
├── LoRA → models/Lora/
├── VAE → models/VAE/
└── Embedding → embeddings/
3. 刷新或重启WebUI
└── 在界面中刷新模型列表
4. 选择使用
└── 下拉菜单选择模型
四、核心参数详解
4.1 采样器(Sampler)
常用采样器:
| 采样器 | 特点 | 推荐场景 |
|---|---|---|
| DPM++ 2M Karras | 快速,质量好 | 日常首选 |
| DPM++ SDE Karras | 细节丰富 | 追求细节 |
| Euler a | 经典,随机性强 | 探索创意 |
| DDIM | 稳定,可复现 | 需要稳定输出 |
| UniPC | 快速 | 快速预览 |
4.2 采样步数(Steps)
步数与质量的关系:
10-15步:快速预览,质量一般
20-25步:日常使用,质量平衡
30-40步:高质量输出
50步以上:收益递减,意义不大
建议:
├── 测试阶段:15-20步
├── 正式出图:25-30步
└── 追求极致:35-40步
4.3 CFG Scale
CFG Scale = 图像对Prompt的遵循程度
低值(1-5):更随机、更艺术化、可能跑题
中值(7-10):平衡,日常使用
高值(12-20):严格遵循Prompt,但可能过饱和
建议:
├── 一般情况:7
├── 需要精确:9-12
└── 艺术创作:5-7
4.4 图像尺寸
尺寸建议:
SD 1.5系列:
├── 512x512:默认
├── 512x768:竖版
├── 768x512:横版
└── 不建议超过768
SDXL系列:
├── 1024x1024:默认
├── 1024x1536:竖版
└── 1536x1024:横版
显存不足时:
├── 减小尺寸
├── 使用低显存优化
└── 生成后再放大
4.5 负向提示词
通用负向提示词:
低质量相关:
low quality, worst quality, normal quality,
lowres, bad anatomy, bad hands,
text, error, missing fingers, extra digit,
fewer digits, cropped, jpeg artifacts,
signature, watermark, username, blurry
人物相关:
deformed, ugly, mutilated,
disfigured, mutation, bad proportions,
extra limbs, extra arms, extra legs,
malformed limbs
负向Embedding推荐:
├── EasyNegative
├── bad-hands-5
├── ng_deepnegative_v1_75t
└── 下载后在负向提示词中调用
五、ControlNet精确控制
5.1 什么是ControlNet
ControlNet = 精确控制画面构图和姿态的工具
作用:
├── 保持人物姿态
├── 保持构图
├── 保持线稿
├── 保持深度关系
└── 保持边缘
输入:控制图(如姿态图、线稿、深度图)
输出:按照控制图布局生成的新图
5.2 安装ControlNet
安装步骤:
1. 安装ControlNet插件
├── Extensions → Install from URL
└── 输入ControlNet插件地址
2. 下载ControlNet模型
├── 从Hugging Face下载
└── 放入:models/ControlNet/
3. 重启WebUI
└── 生效后在界面下方出现ControlNet面板
5.3 常用ControlNet模型
| 模型 | 用途 | 使用场景 |
|---|---|---|
| Canny | 边缘检测 | 保持线稿/轮廓 |
| OpenPose | 姿态检测 | 保持人物姿态 |
| Depth | 深度图 | 保持空间关系 |
| Scribble | 涂鸦 | 草图转精图 |
| Lineart | 线稿 | 线稿上色 |
| SoftEdge | 柔和边缘 | 柔和的边缘控制 |
| IP-Adapter | 图像风格 | 风格迁移 |
| Reference | 参考 | 角色一致性 |
5.4 ControlNet使用示例
姿态控制:
1. 准备一张人物姿态参考图
2. 展开ControlNet面板
3. 上传图片
4. 选择Preprocessor: openpose
5. 选择Model: control_v11p_sd15_openpose
6. 设置Control Weight: 0.8-1.0
7. 在Prompt中描述想要的画面
8. 生成
线稿上色:
1. 准备线稿图片
2. 选择Preprocessor: lineart_anime
3. 选择Model: control_v11p_sd15_lineart
4. 描述想要的颜色和风格
5. 生成
六、ComfyUI入门
6.1 为什么要学ComfyUI
ComfyUI vs WebUI:
WebUI:
├── 优点:简单易用,适合新手
├── 缺点:灵活性有限
└── 适合:日常使用
ComfyUI:
├── 优点:极度灵活,工作流可视化
├── 缺点:学习曲线陡峭
└── 适合:进阶用户、复杂工作流
趋势:ComfyUI正在成为主流
6.2 ComfyUI基本概念
核心概念:
节点(Node):
├── 每个功能是一个节点
├── 节点之间连线传递数据
└── 类似于编程中的函数
工作流(Workflow):
├── 节点连接形成工作流
├── 可以保存和分享
└── 可以实现复杂操作
常见节点:
├── Load Checkpoint:加载模型
├── CLIP Text Encode:编码提示词
├── KSampler:采样器
├── VAE Decode:解码图像
└── Save Image:保存图像
6.3 ComfyUI安装
安装步骤:
1. 下载ComfyUI
└── github.com/comfyanonymous/ComfyUI
2. 安装依赖
└── 运行安装脚本
3. 放入模型
└── 与WebUI类似的目录结构
4. 运行
└── 运行 main.py 或 run_nvidia_gpu.bat
6.4 第一个工作流
基础文生图工作流:
[Load Checkpoint] → [CLIP Text Encode (正向)]
→ [CLIP Text Encode (负向)]
↓
[Empty Latent Image] → [KSampler] → [VAE Decode] → [Save Image]
操作:
1. 右键添加节点
2. 连接节点
3. 设置参数
4. 点击Queue Prompt运行
七、常见问题与优化
7.1 显存不足解决
优化方法:
1. WebUI启动参数
└── 编辑webui-user.bat,添加:
--medvram 或 --lowvram
2. 减小图像尺寸
└── 512x512 → 后期放大
3. 减少批次
└── Batch size设为1
4. 使用xFormers
└── 启动参数添加 --xformers
5. 使用FP16精度
└── 默认已启用
7.2 生成速度优化
提速方法:
1. 使用更快的采样器
└── UniPC、DPM++ 2M
2. 减少步数
└── 20步通常足够
3. 启用注意力优化
└── --xformers
4. 使用Forge版WebUI
└── 默认优化更好
5. 关闭不需要的插件
└── 减少内存占用
7.3 常见报错
| 错误 | 原因 | 解决方法 |
|---|---|---|
| CUDA out of memory | 显存不足 | 减小尺寸/加--lowvram |
| 模型加载失败 | 模型损坏或路径错误 | 重新下载/检查路径 |
| 黑图 | VAE问题 | 选择正确的VAE |
| 生成卡住 | 各种原因 | 重启WebUI |
| 安装失败 | 网络/依赖问题 | 换源/手动安装依赖 |
本章小结
关键认知
1. 显卡12GB以上体验最佳,8GB勉强可用
2. 整合包是新手最快入门方式
3. 模型选择决定风格和质量
4. ControlNet是精确控制的关键
5. ComfyUI是进阶必学
6. 优化可以弥补硬件不足
快速配置清单
□ 确认显卡满足要求
□ 下载并安装WebUI(整合包或手动)
□ 下载1-2个常用模型
□ 安装ControlNet插件和模型
□ 下载负向Embedding
□ 设置合适的启动参数
□ 完成第一张图生成
行动清单
- 评估自己的硬件配置
- 选择安装方式并完成安装
- 下载一个写实模型和一个二次元模型
- 生成10张图片熟悉界面
- 尝试使用ControlNet控制姿态
- 了解ComfyUI的基本概念
下一章:12-AI绘画提示词工程
掌握了工具后,下一章将深入AI绘画的提示词工程——如何写出能精确控制画面的Prompt。