Stable Diffusion 这个工具,我第一次接触的时候折腾了整整一个周末。那会儿还没有什么一键整合包,Python 环境、CUDA 版本、xformers 编译、模型路径配置,每一步都能卡住半天。后来帮朋友装、帮同事装、在群里远程指导别人装,前前后后没有一百次也有八十次,慢慢就摸出了一套最省事、最少踩坑的流程。这篇内容就是把这套流程完整写下来,从下载到部署到出第一张图,再到模型管理和常见报错处理,尽量做到你照着做就能跑通。
不管你是完全没有编程基础的画师、设计师,还是想在自己电脑上跑AI绘图的普通用户,只要你的电脑有一块还算过得去的显卡,这篇内容都能帮你把 Stable Diffusion 跑起来。我会重点讲清楚每一步为什么这么做、哪些地方容易出问题、遇到报错怎么排查,而不是只丢一堆命令让你自己猜。
1. 先搞清楚你的硬件能不能跑,以及该选哪种部署方式
很多人一上来就问“我该下哪个版本”,其实这个问题应该反过来问:你的硬件条件决定了你该用什么方案。Stable Diffusion 的部署方式大致分三类,选错了后面全是麻烦。
1.1 显卡是决定性因素,先看显存再看型号
Stable Diffusion 的核心计算靠的是显卡的并行计算能力,NVIDIA 显卡的兼容性最好,因为主流框架对 CUDA 的支持最成熟。AMD 显卡也能跑,但配置过程会多不少弯路,Apple Silicon 的 Mac 则走的是另一套优化路径。
显存大小直接决定了你能跑什么分辨率和什么规模的模型。下面这张表是我根据实际使用经验整理的参考:
| 显存容量 | 能做什么 | 体验评价 |
|---|---|---|
| 4GB | 512x512 基础出图,部分优化后可跑 768 | 能跑,但慢,参数受限 |
| 6GB | 512x512 流畅,768 勉强 | 入门够用 |
| 8GB | 768x768 流畅,1024 可尝试 | 甜点区间 |
| 12GB 及以上 | 1024 及以上,可跑 SDXL | 舒适 |
| 24GB 及以上 | SDXL 高分辨率、批量出图 | 生产力级别 |
如果你用的是集成显卡或者显存低于 4GB,本地部署的体验会非常差,这种情况我建议先考虑在线方案或者升级硬件,不要硬折腾。
注意:显存不是唯一指标,显卡的算力架构也很重要。同样是 8GB,新一代显卡的出图速度可能是老卡的几倍。但只要你显存够,老卡也能出图,只是慢一点。
1.2 三种部署路线,各自适合什么人
第一种是官方原版部署。就是从官方仓库拉代码,自己配 Python 环境、装依赖、下模型。这种方式最灵活,能第一时间用上新功能,但配置过程对新手极不友好,一个依赖版本冲突就能让你卡一整天。适合有一定编程基础、喜欢折腾、需要深度定制的人。
第二种是一键整合包。这是国内社区最流行的方式,把 Python 环境、依赖、启动脚本、常用插件全部打包好,解压就能用。秋叶整合包是这个领域里流传最广的版本之一,它的价值在于帮你跳过了最痛苦的环境配置环节。适合绝大多数普通用户,尤其是只想画图不想折腾环境的人。
第三种是云端或在线方案。不需要本地显卡,通过网页使用。优点是零门槛,缺点是通常有使用限制、排队、或者按量付费,而且你的模型和数据不在自己手里。适合硬件不够、只想先体验一下的人。
我的建议很直接:如果你只是想画图,直接用整合包,别去碰原版部署。整合包省下来的时间够你画几百张图了。等你真的需要定制某些功能,再去研究原版也不迟。
1.3 整合包版本怎么选,别盲目追新
整合包更新很频繁,但并不是越新越好。新版本可能引入了新的依赖、新的默认设置,有时候反而会带来兼容性问题。我的经验是:
- 如果你已经有一个稳定运行的版本,不要轻易升级,除非新版本有你必须要的功能。
- 如果你是全新安装,选最近一两个月内发布、社区反馈较多的稳定版,而不是当天刚发的版本。
- 下载前先看清楚说明里的显卡要求、系统要求,以及是否包含你需要的模型。
整合包通常分几个部分:主程序包、模型文件、可选插件。主程序包是必须的,模型文件可以单独下载,插件按需添加。很多人下载的时候没注意,下了一个不含模型的包,启动后发现没有模型可用,又得重新找。
2. 下载与解压:路径和目录结构里藏着大坑
下载本身没什么技术含量,但解压和存放的位置非常关键,这一步做错了后面启动会直接报错,而且报错信息往往看不懂。
2.1 路径里绝对不能出现中文和空格
这是新手最容易踩的坑,没有之一。Stable Diffusion 的底层依赖里有大量对路径敏感的程序,中文路径和空格会导致各种莫名其妙的错误,比如模型加载失败、插件无法导入、启动脚本报编码错误。
正确的做法是:把整合包解压到一个纯英文、无空格的路径下。比如:
D:\SD\webui E:\AI\stable-diffusion错误的做法:
D:\我的文件\AI绘图\stable diffusion C:\Users\张三\Desktop\新建文件夹提示:如果你已经解压到了中文路径,不要试图改配置去兼容,直接把整个文件夹移动到英文路径下,重新启动即可。改配置往往治标不治本。
2.2 目录结构要心里有数,后面找东西全靠它
整合包解压后,目录结构大致是这样的(不同版本略有差异,但核心目录一致):
webui根目录/ ├── webui-user.bat # Windows启动脚本 ├── webui.sh # Linux/Mac启动脚本 ├── models/ # 模型存放目录 │ ├── Stable-diffusion/ # 主模型(大模型/底模) │ ├── Lora/ # LoRA模型 │ ├── VAE/ # VAE文件 │ ├── Embeddings/ # 文本嵌入模型 │ └── ControlNet/ # ControlNet模型 ├── extensions/ # 插件目录 ├── outputs/ # 出图保存目录 ├── embeddings/ # 另一种嵌入模型路径 └── venv/ # 内置的Python虚拟环境你需要重点记住三个目录:models/Stable-diffusion放主模型,models/Lora放 LoRA,outputs是出图默认保存位置。后面下载的模型往对应目录一丢,刷新一下就能用。
2.3 首次启动前的检查清单
在双击启动脚本之前,花两分钟检查这几件事,能帮你避开大部分首次启动失败:
- 路径是否纯英文无空格(再确认一遍)
- 硬盘剩余空间是否足够(模型动辄几个GB,建议留出至少50GB)
- 显卡驱动是否更新到较新版本(老驱动可能导致CUDA初始化失败)
- 杀毒软件是否可能拦截(部分安全软件会误报启动脚本,必要时添加信任)
- 系统虚拟内存是否充足(物理内存不足时,虚拟内存能兜底,建议设置为物理内存的1.5倍以上)
这些检查看起来琐碎,但每一条我都见过真实案例。尤其是路径和驱动这两项,占了首次启动失败原因的一大半。
3. 启动脚本的配置:几个参数决定你的出图速度和稳定性
整合包通常自带一个启动脚本,Windows 下是webui-user.bat。这个文件里可以配置启动参数,直接影响显存占用、出图速度和功能开关。很多人直接双击就用默认配置,其实根据自己的硬件调一下,体验会好很多。
3.1 启动参数怎么加,每个参数解决什么问题
打开webui-user.bat,找到set COMMANDLINE_ARGS=这一行,后面就是你可以追加参数的地方。常用的参数我列一下:
| 参数 | 作用 | 适用场景 |
|---|---|---|
--xformers | 启用xformers优化,降低显存占用、提速 | 绝大多数N卡,强烈推荐 |
--medvram | 中等显存优化模式 | 6-8GB显存 |
--lowvram | 低显存优化模式,速度换显存 | 4-6GB显存 |
--api | 开启API接口 | 需要外部程序调用时 |
--listen | 允许局域网访问 | 想用手机或别的电脑访问 |
--autolaunch | 启动后自动打开浏览器 | 图省事 |
--theme dark | 使用深色主题 | 夜间使用护眼 |
一个典型的 8GB 显存配置大概是这样:
set COMMANDLINE_ARGS=--xformers --medvram --autolaunch4GB 显存的话:
set COMMANDLINE_ARGS=--xformers --lowvram --autolaunch注意:
--xformers不是所有环境都能用,如果你的整合包没有预装 xformers,加了这个参数会报错。报错的话先去掉这个参数,或者按整合包说明单独安装 xformers。
3.2 启动过程看什么,什么时候算成功
双击启动脚本后,会弹出一个命令行窗口,开始加载各种组件。这个过程第一次会比较慢,因为要初始化环境。你需要关注几个关键节点:
- 出现
Running on local URL: http://127.0.0.1:7860说明服务已经起来了,这时候浏览器会自动打开(如果加了--autolaunch)。 - 如果卡在某个地方很久不动,通常是模型加载或者依赖初始化,耐心等一等。
- 如果出现红色报错,先看最后几行,报错信息通常在最后。
启动成功的标志就是浏览器里出现了 WebUI 界面,能看到文生图、图生图这些标签页。第一次启动可能还要下载一些额外的组件,保持网络畅通。
3.3 启动失败的常见原因和排查顺序
启动失败不要慌,按这个顺序排查,能解决八成问题:
- 看报错关键词。如果是
CUDA out of memory,是显存不够,加--lowvram。如果是ModuleNotFoundError,是依赖缺失,可能需要重装整合包。如果是路径相关的编码错误,检查路径是否含中文。 - 检查显卡驱动。在命令行输入
nvidia-smi,如果能正常显示显卡信息,说明驱动没问题。 - 检查Python环境。整合包自带虚拟环境,一般不用管,但如果手动改过环境,可能出问题。
- 尝试删除缓存重启。有时候是临时文件损坏,删掉
venv目录重新启动(整合包会自动重建),但这一步耗时较长,放最后做。
我遇到过最诡异的一次是启动脚本被杀毒软件偷偷改了内容,导致参数失效。所以如果配置明明没问题却启动异常,检查一下脚本文件是否被修改过。
4. 模型管理:主模型、VAE、LoRA 分别是什么,怎么用
Stable Diffusion 的模型体系是新手最容易懵的地方。下载了一堆文件,不知道放哪、不知道干嘛用。这一节把模型体系讲清楚。
4.1 主模型(底模)是画风的基础
主模型也叫底模、大模型,文件通常是.safetensors或.ckpt格式,体积在 2GB 到 7GB 不等。它决定了出图的基本风格和能力。比如:
- 写实风格的主模型,出图偏向照片质感。
- 二次元风格的主模型,出图偏向动漫插画。
- 通用型主模型,什么都能画但都不算极致。
主模型放在models/Stable-diffusion目录下。放进去之后,在 WebUI 左上角的下拉框里就能选到。切换主模型后,出图风格会明显变化。
主模型的版本也需要注意。SD 1.5 是最经典的版本,生态最丰富,LoRA 和插件支持最好。SD 2.x 和 SDXL 是后续版本,能力更强但对硬件要求更高,生态兼容性也不如 1.5。新手建议从 1.5 系的主模型开始,资源多、教程多、踩坑少。
4.2 VAE 是色彩的调节器
VAE 全称变分自编码器,作用是负责图像的编码和解码。你可以把它理解成色彩的调节器。有些主模型自带 VAE,有些需要单独配。如果出图颜色发灰、发暗、对比度不对,很可能是 VAE 的问题。
VAE 文件放在models/VAE目录下,然后在 WebUI 的设置里选择对应的 VAE。常见的 VAE 有vae-ft-mse-840000这类,很多整合包已经内置。
提示:不是所有模型都需要单独配 VAE。如果出图颜色正常,就不要动 VAE 设置。乱配 VAE 反而可能导致颜色异常。
4.3 LoRA 是风格和角色的微调插件
LoRA 是 Low-Rank Adaptation 的缩写,是一种轻量化的微调模型,体积通常只有几十到几百MB。它的作用是给主模型叠加特定的风格、角色、服装、姿势等特征。
LoRA 放在models/Lora目录下。使用时,在提示词里用特定语法调用,比如:
<lora:模型文件名:0.8>其中0.8是权重,范围 0 到 1,数值越大特征越明显。权重太高可能导致画面崩坏,太低则效果不明显,一般从 0.6 到 0.8 开始试。
LoRA 的命名很重要,文件名最好保持英文,因为提示词里要写文件名。如果文件名是中文,调用时可能出问题。
4.4 模型下载渠道和选择建议
模型下载渠道很多,国内有模型分享社区,国外有 Civitai 这类平台。下载时注意几点:
- 优先选
.safetensors格式,比.ckpt更安全,不容易携带恶意代码。 - 看清楚模型的基础版本,是 SD 1.5 还是 SDXL,别下错了。
- 看示例图和参数,了解这个模型适合画什么。
- 注意文件大小,异常小的文件可能不完整。
模型不是越多越好。我见过有人下了几百GB的模型,结果常用的就那几个。建议先精选几个高质量的主模型,再按需补充 LoRA。
5. 出第一张图:参数怎么填,提示词怎么写
环境跑通了,模型也放好了,接下来就是出图。这一节讲最核心的文生图操作。
5.1 提示词的基本结构
提示词分正面提示词和负面提示词。正面提示词描述你想要的内容,负面提示词描述你不想要的内容。
正面提示词的基本结构可以按这个顺序组织:
主体描述 + 细节特征 + 风格词 + 质量词比如画一个人物:
1girl, solo, long hair, blue eyes, white dress, standing in garden, soft lighting, masterpiece, best quality, highly detailed负面提示词通常放一些通用的排除项:
lowres, bad anatomy, bad hands, extra fingers, worst quality, low quality, watermark, blurry提示词的写法有很多技巧,但新手不用一开始就追求完美。先把主体描述清楚,再逐步加细节和质量词。
5.2 核心参数的含义和推荐值
WebUI 界面上有一堆参数,新手容易懵。我挑最关键的几个讲:
| 参数 | 含义 | 推荐值 |
|---|---|---|
| 采样步数 Steps | 迭代次数,越高越精细但越慢 | 20-30 |
| 采样器 Sampler | 去噪算法 | DPM++ 2M Karras 或 Euler a |
| 图像宽度/高度 | 出图分辨率 | 512x512 或 512x768 |
| 提示词引导系数 CFG Scale | 提示词的影响力 | 7-9 |
| 随机种子 Seed | 控制随机性,-1为随机 | -1 或固定值复现 |
| 批次数量 Batch | 一次出几张 | 1-4,看显存 |
采样步数不是越高越好,超过 30 之后提升很有限,但时间线性增加。采样器方面,DPM++ 系列在质量和速度上比较均衡,Euler a 出图有随机性、风格活泼。
CFG Scale 太低会导致提示词不起作用,太高会导致画面过饱和、崩坏。7 到 9 是安全区间。
5.3 分辨率设置的坑:为什么不能随便拉高
很多人想让出图更清晰,直接把分辨率拉到 1024 甚至更高,结果要么显存爆了,要么画面出现重复的人头、扭曲的肢体。这是因为 Stable Diffusion 1.5 是在 512x512 上训练的,直接出高分辨率会超出它的能力范围。
正确的做法是:先用 512 左右出图,再用高清修复(Hires. fix)放大。高清修复会先按原分辨率出图,再通过放大算法提升分辨率并补充细节。这样既能得到高分辨率,又不会崩坏。
高清修复里有个放大倍数和放大算法,一般放大 1.5 到 2 倍,算法选R-ESRGAN 4x+或Latent系列。放大倍数太高也会出问题,建议分步放大。
5.4 出图后的保存和复现
出图后,图片默认保存在outputs目录下。每张图都带有生成信息(提示词、参数、种子),可以在 WebUI 里查看。如果你想复现某张图,把种子固定,参数保持一致,就能得到几乎一样的结果。
PNG 格式的图片会内嵌生成参数,拖回 WebUI 的 PNG Info 标签页就能读取。这是个很实用的功能,看到别人的好图,拿到原图就能反推参数。
6. 常见报错和性能问题:我踩过的坑和解决办法
这一节是我这些年遇到最多的问题汇总,每个都给出排查思路和解决办法。
6.1 显存不足(CUDA out of memory)
这是最高频的报错。原因无非几个:分辨率太高、批次太多、模型太大、没开优化。
解决顺序:
- 降低分辨率,先回到 512。
- 批次数量改成 1。
- 启动参数加
--medvram或--lowvram。 - 确认
--xformers是否生效。 - 关闭其他占用显存的程序(浏览器、游戏、视频软件)。
如果以上都做了还是爆显存,那可能是显卡本身显存太小,只能进一步降低分辨率或者换硬件。
6.2 出图速度慢得离谱
速度慢通常有几个原因:没用显卡跑(跑在CPU上了)、没开优化、采样步数太高、分辨率太高。
先确认是不是跑在 GPU 上。启动日志里会显示使用的设备,如果显示 CPU,说明显卡没被识别,检查驱动和 CUDA。如果确实是 GPU 但很慢,检查是否加了--xformers,以及采样步数是否设太高。
还有一种情况是显卡本身性能有限,比如老架构的入门卡,那速度慢是正常的,只能通过降低参数来提速。
6.3 画面崩坏:多手多脚、人脸扭曲
这是模型能力边界的问题,不是 bug。常见原因和解决办法:
- 分辨率超出模型训练范围:用高清修复代替直接高分辨率。
- 负面提示词不够:加上
bad anatomy, extra limbs, bad hands等。 - 提示词冲突:检查是否有互相矛盾的描述。
- 模型本身质量差:换一个质量更好的主模型。
- CFG 太高:降到 7 左右试试。
手部崩坏是 Stable Diffusion 的老大难问题,因为训练数据里手部姿态复杂。可以通过负面提示词、ControlNet 辅助、或者后期修图来改善。
6.4 插件装了不显示或报错
插件问题通常出在依赖上。有些插件需要额外的 Python 包,整合包不一定预装。解决办法:
- 看插件的说明文档,确认依赖是否满足。
- 在 WebUI 的扩展标签页里检查插件是否启用。
- 重启 WebUI,很多插件需要重启才生效。
- 如果插件报错,看命令行窗口的报错信息,通常是缺某个包。
装插件不要贪多,装多了容易冲突。常用的几个就够了,比如 ControlNet、ADetailer 这类。
7. 进阶方向:从能用到好用
跑通基础流程之后,如果想进一步提升,有几个方向值得投入。
7.1 ControlNet:精确控制构图和姿势
ControlNet 是 Stable Diffusion 生态里最重要的插件之一,它能让你用一张参考图控制出图的构图、姿势、线稿、深度等。比如你想让生成的人物摆出特定姿势,用 OpenPose 模型提取骨架,就能精确控制。
ControlNet 需要单独下载模型,放在models/ControlNet目录下。常用的有 OpenPose(姿势)、Canny(边缘)、Depth(深度)、Lineart(线稿)等。每个模型解决不同的控制需求。
7.2 图生图与局部重绘
图生图是在一张已有图的基础上生成新图,通过去噪强度控制变化程度。局部重绘则是只修改图片的某个区域,其他部分保持不变。这两个功能在修图、改图场景里非常实用。
局部重绘的关键是蒙版的绘制和重绘幅度的控制。蒙版画得越精确,修改越可控。重绘幅度太低没变化,太高会脱离原图,一般从 0.5 左右开始试。
7.3 模型训练:打造自己的专属模型
当你发现现有模型都满足不了需求时,可以考虑自己训练。训练分几种:DreamBooth 训练特定主体,LoRA 训练风格或角色,Textual Inversion 训练嵌入。训练对硬件要求更高,也需要准备数据集和调参,属于进阶内容。
新手不建议一上来就训练,先把现有模型和插件用熟,理解提示词和参数的规律,再去训练会事半功倍。
7.4 工作流工具:ComfyUI 的节点式玩法
ComfyUI 是另一种 Stable Diffusion 的前端,用节点连线的方式组织工作流。它比 WebUI 更灵活,适合搭建复杂的生成流程,但学习曲线也更陡。如果你已经熟悉了 WebUI,想进一步定制流程,可以试试 ComfyUI。秋叶也有 ComfyUI 的整合包,安装方式和 WebUI 类似。
ComfyUI 的优势在于流程可视化和可复用,一个搭好的工作流可以保存下来反复使用,也能分享给别人。对于需要批量处理或者复杂流程的场景,效率比 WebUI 高。
8. 一些实际使用中的经验和小技巧
最后分享一些零散但实用的经验,都是实际用下来觉得有价值的。
关于提示词,不要迷信所谓的“魔法词”。网上流传的各种质量词、风格词,效果因模型而异。最好的办法是自己测试,固定种子和参数,只改一个变量,看效果变化。这样积累下来的经验才是自己的。
关于模型选择,不要盲目追新。很多老模型经过社区验证,稳定性和效果都很好。新模型可能在某些方面更强,但也可能有兼容性问题。找到适合自己需求的模型,比追最新更重要。
关于出图效率,批量出图时先用低步数快速筛选构图,选中满意的再提高步数精修。这样比每张都高步数出图效率高得多。
关于硬盘管理,模型文件很占空间,建议单独用一个硬盘或者分区存放。定期清理不用的模型和输出图片,不然硬盘很快就满了。
关于学习路径,不要试图一次学完所有东西。先把文生图跑通,再学图生图,再学 ControlNet,一步一步来。每学一个功能就实际用几次,比看十篇教程都管用。
我在实际使用中最大的体会是,Stable Diffusion 这类工具的上手门槛其实不在技术,而在耐心。环境配置的坑、参数的调试、模型的筛选,都需要花时间。但只要跑通了第一次,后面的路就顺了。希望这篇内容能帮你少走一些弯路,把时间花在创作上,而不是折腾环境上。