Stable Diffusion 本地部署实战指南
导语:从“显卡炸了”到“AI自由”
上周三,我的学员小林发来一张截图:他的RTX 3060显卡在运行Stable Diffusion时,显存占用飙到11.9GB,风扇转速拉满,系统直接蓝屏。他崩溃地问:“老师,是不是我电脑配置不够?是不是只能花钱买云端服务?”
这个问题,我每个月至少收到20次。但真相是:90%的本地部署失败,不是因为配置不够,而是因为部署流程踩了坑。今天这篇指南,我会用3个具体案例,带你从零搭建一套稳定运行的Stable Diffusion环境。你不需要是程序员,只需要会复制粘贴命令、会点“下一步”。
核心章节一:环境搭建——告别“环境地狱”
1.1 硬件门槛:你的显卡能跑吗?
先做一道自测题:你的显卡显存 ≥ 4GB?是,请继续;否,请考虑云端方案(如Google Colab或AutoDL)。推荐配置如下:
| 显卡类型 | 显存要求 | 推荐分辨率 | 典型型号 |
|———|———|———–|———|
| 入门级 | 4-6GB | 512×512 | GTX 1660 Super |
| 主流级 | 8-12GB | 768×768 | RTX 3060/4060 |
| 旗舰级 | 16-24GB | 1024×1024 | RTX 4090 |
注意:显存不是唯一指标。我的学员用GTX 1070(8GB)跑512×512图,速度比RTX 3060(12GB)慢40%,但能稳定运行。关键看Tensor Core支持——RTX系列有加速,GTX系列全靠算力硬扛。
1.2 工具链安装:三步走
第一步:安装Python(版本必须3.10.6)
不要用最新版Python 3.12!Stable Diffusion WebUI的依赖库(如torch、xformers)在3.12上兼容性极差。直接去官网下载Python 3.10.6,安装时勾选“Add Python to PATH”。
第二步:安装Git
Git用于从GitHub拉取模型和插件。Windows用户直接下载Git for Windows,安装时选“Use Git from the Windows Command Prompt”。
第三步:部署Stable Diffusion WebUI(官方推荐方案)
打开命令行(Win+R输入cmd),执行以下命令:
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
cd stable-diffusion-webui
python launch.py --xformers --opt-split-attention
这里解释参数:
- `–xformers`:启用内存优化,显存占用降低30%-50%
第一次运行会自动下载依赖(约2GB),过程可能卡在“Installing torch”这一步——别慌,是网络问题。可以手动下载torch:
pip install torch==2.1.0 torchvision==0.16.0 --index-url https://download.pytorch.org/whl/cu118
然后重新运行 `python launch.py`。看到 `Running on local URL: http://127.0.0.1:7860` 就成功了。
核心章节二:模型选择与加载——别让“模型库”变成“垃圾堆”
2.1 模型类型速查
很多学员下载了10GB的模型,结果生成效果像“马赛克艺术”——因为选错了模型类型。Stable Diffusion的模型分三类:
实操案例:生成“赛博朋克风格少女”
1. 在Hugging Face下载 Base模型 `v1-5-pruned-emaonly.safetensors`(约4.2GB),放入 `models/Stable-diffusion/` 目录
2. 下载LoRA模型 `cyberpunk_girl_v2.safetensors`(约50MB),放入 `models/Lora/` 目录
3. 在WebUI界面,选择Base模型为 `v1-5-pruned-emaonly`,点击LoRA标签页,选中 `cyberpunk_girl_v2`
注意:LoRA模型必须与Base模型版本匹配。SD 1.5的LoRA不能用于SDXL,否则生成图像会扭曲。
2.2 参数调优:从“鬼图”到“神图”
我见过最离谱的案例:学员用默认参数生成“一只猫”,结果得到一张“长着猫头的章鱼”。这是因为CFG Scale和采样步数没调好。
推荐新手参数模板:
提示词:masterpiece, best quality, (cyberpunk:1.2), girl, neon lights, detailed face
反向提示词:lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit
采样方法:DPM++ 2M Karras
采样步数:25
CFG Scale:7
分辨率:512×768(竖版)/ 768×512(横版)
种子:-1(随机)
关键参数解释:
进阶技巧:使用 ControlNet 插件控制构图。比如你想让AI生成“坐在椅子上的少女”,但AI总画成“漂浮的少女”——这时用OpenPose姿势检测,上传一张参考图,AI就会严格按照骨架生成。
安装ControlNet:在WebUI的 `Extensions` 标签页,搜索 `sd-webui-controlnet`,点击Install。重启后,在生成界面下方会出现ControlNet面板。
核心章节三:性能优化——让显存“呼吸”
3.1 显存泄漏的终极解法
小林蓝屏的案例,根源是显存泄漏。Stable Diffusion在生成过程中,会不断分配显存,但部分版本不会自动释放。解决方法:
1. 开启显存优化参数:在启动命令中加入 `–medvram` 或 `–lowvram`(根据显存大小选择)
2. 使用Tiled VAE:安装插件 `sd-webui-tiled-vae`,将大图切块处理,显存占用降低60%
3. 关闭“面部修复”:CodeFormer面部修复功能会额外占用2-3GB显存,建议生成后单独用其他工具修复
3.2 生成速度翻倍:Xformers + TensorRT
如果你的显卡支持(RTX 20系以上),安装TensorRT扩展:
# 在WebUI目录下
git clone https://github.com/NVIDIA/TensorRT-Model-Optimizer.git
cd TensorRT-Model-Optimizer
pip install -r requirements.txt
然后运行 `python optimize.py –model-path ../models/Stable-diffusion/你的模型.safetensors`。优化后,生成速度提升2-3倍,显存占用降低40%。
注意:TensorRT只支持.safetensors格式,不支持.ckpt格式。而且每次升级WebUI后需要重新优化。
总结与进阶建议
三天进阶路线图
避免的坑
1. 别用中文路径:模型、插件、输出目录都不要有中文,否则报错“FileNotFoundError”
2. 定期清理缓存:WebUI的 `outputs/txt2img-grids` 目录会积累大量缩略图,一个月能占满C盘
3. 备份模型:Hugging Face的模型可能随时下架,下载后备份到移动硬盘
常见问题 FAQ
Q1:启动时卡在“Installing torch”怎么办?
A:这是网络问题。手动下载torch:`pip install torch==2.1.0 torchvision==0.16.0 –index-url https://download.pytorch.org/whl/cu118`,然后再运行launch.py。
Q2:生成图像总是“黑屏”或“纯色块”?
A:常见原因:①VAE模型缺失或损坏,下载官方vae-ft-mse-840000-ema-pruned.safetensors放入models/VAE;②提示词中写了反向提示词“black”或“dark”,将其删掉。
Q3:怎么把生成的图像保存为高清大图(2K/4K)?
A:使用Hires.fix功能。在生成界面勾选“Hires.fix”,设置放大倍数为2,放大算法选“R-ESRGAN 4x+”。注意:这会让生成时间翻倍,且显存需求增加50%。
Q4:为什么我的显卡是RTX 4090,但生成速度和RTX 3060一样慢?
A:检查是否启动了TensorRT优化。另外,4090的显存带宽虽高,但如果模型加载时没有使用`–xformers`,效率会大打折扣。建议启动命令:`python launch.py –xformers –opt-split-attention –medvram`。
Q5:如何批量生成100张图而不炸显存?
A:使用“Batch Count”功能(在生成界面底部),每次生成4-8张,中间间隔5秒让显存释放。不要一次性设置Batch Size=10,否则显存会瞬间爆满。更好的方案:用 `script` 中的“X/Y/Z plot”功能,可以批量生成参数组合图。
—
最后送你一句话:本地部署不是终点,而是起点。当你掌握了环境搭建、模型选择、参数调优这三大核心能力,Stable Diffusion就不再是“黑箱”,而是你手中的画笔。去生成你的第一张“完美作品”吧,有问题随时在评论区留言。




评论(0)