Stable Diffusion 本地部署实战指南
上周有位学员带着一张模糊的AI生成图来找我:“老师,我用在线工具生成了这张图,但放大后全是锯齿,而且每次生成都要排队半小时。”他展示了那张本应精细的赛博朋克城市夜景,却因为在线平台的压缩和延迟,变成了像素块堆砌的“马赛克艺术”。这其实是许多AIGC爱好者的共同痛点——依赖云端服务,不仅受限于算力配额、生成速度,更无法自由调整模型、插件和参数。今天,我们就用Stable Diffusion本地部署,彻底解决这些问题。
一、部署前的系统与环境准备
在动手之前,先确认你的硬件能扛住。Stable Diffusion的核心是显卡的显存与CUDA核心数。最低要求是NVIDIA显卡(4GB显存起步,建议8GB以上),AMD显卡(需ROCm支持,但兼容性稍差)。如果你用苹果M1/M2芯片,也能运行,但速度会慢30%-50%。内存建议16GB以上,硬盘预留至少50GB(模型+临时文件会吃掉20-30GB)。
1. 安装Python与Git
Stable Diffusion WebUI基于Python 3.10.6(注意版本号,3.11及以上可能报错)。从Python官网下载对应版本,安装时勾选“Add Python to PATH”。Git用于拉取仓库,从git-scm.com下载安装,一路默认即可。
2. 拉取Stable Diffusion WebUI
打开终端(Windows用PowerShell),输入:
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
cd stable-diffusion-webui
这是目前最主流的WebUI版本,版本号v1.8.0。如果你需要更稳定的旧版,可以切到`git checkout v1.6.0`,但建议用最新版,因为修复了大量bug并支持SDXL模型。
3. 安装依赖与启动
Windows用户直接双击`webui-user.bat`。首次运行会自动下载依赖包(约2GB,需科学上网)。如果遇到“torch”安装失败,手动指定CUDA版本:
pip install torch==2.1.0+cu121 torchvision==0.16.0+cu121 --index-url https://download.pytorch.org/whl/cu121
启动成功后,浏览器会自动打开`http://127.0.0.1:7860`,看到经典的“Stable Diffusion WebUI”界面,恭喜你,本地部署完成。
二、模型选择与基础参数实战
很多学员第一次打开WebUI会懵:左侧是提示词输入框,右侧是参数面板,但“Checkpoint”下拉菜单里只有默认的`v1-5-pruned-emaonly`。这个模型是1.5版本的官方基础模型,生成质量一般。我们需��换更专业的模型。
案例1:用“二次元模型”生成动漫风格角色
从Hugging Face或Civitai下载模型。比如想要“二次元”风格,推荐`Anything V5`(v5.0版本)。下载`anything-v5-PrtRE.safetensors`(约2.2GB),放入`stable-diffusion-webui/models/Stable-diffusion/`目录。回到WebUI,点击“Checkpoint”右侧的刷新按钮,选择“anything-v5-PrtRE”。
参数设置:
- Prompt:`1girl, school uniform, blue eyes, smiling, anime style, high quality, masterpiece`
点击“Generate”,等待10-15秒(取决于显卡)。如果显存不足(4GB),勾选“Batch size=1”并降低分辨率到384×384。生成结果应该是一个清晰、线条流畅的动漫少女。如果��部扭曲,说明模型不适合当前提示词,或需要添加“detailed face”等关键词。
案例2:用“写实模型”生成产品摄影图
换一个写实模型,比如`Realistic Vision V5.1`(下载地址在Civitai)。替换Checkpoint后,尝试生成产品图:
生成后,你会发现玻璃瓶的反射、木纹的质感都接近真实摄影。如果出现“玻璃瓶变形”,尝试添加“symmetrical, perfect shape”到提示词,或启用“Hires. fix”(高清修复)功能:勾选“Hires. fix”,设置Upscaler为`R-ESRGAN 4x+`,放大倍数2倍,Denoising strength 0.4。这样能修复边缘锯齿,让玻璃更通透。
三、高级技巧:ControlNet与LoRA的联合使用
只靠提示词和模型,很难精确控制构图。比如你想让AI生成一只“站在悬崖边的狼”,但默认结果可能狼在中间、悬崖在左边。这时需要ControlNet插件。
1. 安装ControlNet
在WebUI界面,点击“Extensions” -> “Available” -> 搜索“sd-webui-controlnet”,点击安装。重启WebUI后,界面下方会出现一个“ControlNet”折叠面板。打开它,点击“Enable”,然后上传一张参考图(比如手绘的狼和悬崖的线稿)。
关键参数:
2. 融合LoRA微调风格
LoRA(Low-Rank Adaptation)是轻量级微调工具,可以给模型添加特定风格,比如“水墨画风格”或“特定角色脸型”。下载LoRA文件(比如`watercolor_style.safetensors`),放入`models/Lora`目录。在提示词中加入`
联合使用步骤:
1. 上传一张“狼的剪影线稿”到ControlNet,设置Canny预处理器。
2. 提示词:`a wolf standing on a cliff, full body, detailed fur, dramatic sky,
3. 开启Hires. fix,设置放大倍数1.5倍。
生成结果:狼的轮廓严格遵循线稿,但皮毛和背景呈现水墨渲染效果,既有控制又有创意。如果LoRA权重过高导致画面模糊,降低到0.4再试。
四、性能优化与常见问题排查
显存不足怎么办?
生成速度慢?
总结与进阶建议
本地部署Stable Diffusion的核心价值在于自由:你可以随意切换模型、组合插件、调整参数,甚至修改源码。从今天两个案例(动漫角色、产品摄影)和ControlNet+LoRA的高级用法,你应该已经掌握了基础到进阶的完整链路。
进阶路径:
1. 训练自己的LoRA:用10-20张图片(比如你的宠物或产品),用`kohya_ss`工具训练专属LoRA,生成指定角色或风格。
2. 尝试SDXL模型:下载`sd_xl_base_1.0.safetensors`(需8GB显存),生成1024×1024的高清图,细节远超1.5版本。
3. 搭建自动化工作流:用`ComfyUI`替代WebUI,通过节点式编程实现批量生成、图像修复、视频帧处理等复杂任务。
记住,AI绘画不是“一键生成”,而是“参数调优”的艺术。每次生成后,分析哪里不完美:是手部崩了?加入“perfect hands”到Negative Prompt;是光影不对?调整CFG Scale。保持实验精神,你的作品会越来越接近专业水准。
—
常见问题 FAQ
Q1:为什么我启动WebUI后报错“No module named ‘torch’”?
A:通常是因为Python版本不对或pip源问题。确保你安装了Python 3.10.6,然后手动执行:`pip install torch torchvision –index-url https://download.pytorch.org/whl/cu118`(CUDA 11.8版本)。如果仍报错,检查显卡驱动是否支持CUDA(运行`nvidia-smi`查看版本)。
Q2:生成的图片总是出现扭曲的手或脚,怎么办?
A:这是Stable Diffusion 1.5的常见问题。可以在Negative Prompt中添加`extra fingers, missing fingers, bad anatomy, deformed hands`。更有效的方法是使用`ControlNet OpenPose`专门修正手部姿态,或安装`Hands Fix`专用LoRA模型。
Q3:下载的模型文件(.safetensors)放到哪个文件夹?
A:基础模型放入`models/Stable-diffusion/`,LoRA模型放入`models/Lora/`,VAE模型放入`models/VAE/`,ControlNet模型放入`models/ControlNet/`。注意文件名不能包含中文字符,否则WebUI可能无法识别。
Q4:为什么我用了高分辨率(1024×1024)后显存溢出?
A:8GB以下显存不建议直接生成1024×1024。先用512×512生成,然后启用Hires. fix(放大倍数2x),或使用“Tiled VAE”扩展。如果仍然溢出,降低Batch size到1,并关闭所有其他程序(包括浏览器标签页)。
Q5:如何更新WebUI到最新版本?
A:在`stable-diffusion-webui`目录下打开终端,执行`git pull`拉取最新代码。然后重启WebUI,它会自动检测并更新依赖。如果遇到冲突,先备份你的`models`和`outputs`文件夹,然后执行`git stash`再`git pull`。

评论(0)