简介:这份PDF资料面向希望入门AI绘画的开发者与爱好者,系统讲解Stable Diffusion的安装与使用流程,帮助零基础读者跨过环境配置门槛,快速跑通文本生成图像。资源包共1个PDF文件,约814KB,内容涵盖环境准备、依赖安装、代码与模型下载、运行命令及参数调节等完整环节,并配有可直接复制的命令行示例。文中详细说明Python 3.7以上版本与PyTorch的配置要求,演示虚拟环境创建、CompVis仓库克隆及txt2img脚本调用,还针对prompt、plms、ddim、steps等关键参数给出调节建议,并提醒GPU算力对生成速度的影响。目前已有938人学习,适合想低成本掌握AI绘画工具、需要一份可随时查阅操作手册的技术人员参考。
1. Stable Diffusion 安装和使用详解:从一张 6GB 显存显卡说起
很多人第一次听到 Stable Diffusion,以为它是个软件,下载双击就能用。实际动手才发现,它更像一套需要自己组装的工具链:模型权重、推理前端、Python 环境、显卡驱动,缺一个都跑不起来。我见过太多人卡在第一步——兴冲冲装完,结果一张图都出不来,报错信息还全是英文。
这篇笔记要解决的就是这件事。我会把 Stable Diffusion 的本地安装、模型选择、参数调节、常见报错排查,按我实际踩过的顺序讲一遍。目标很明确:让你在一台普通消费级显卡的机器上,从零跑出第一张可用的图,并且知道每个参数动了之后会发生什么。
适合谁看?有基本电脑操作能力、愿意敲几行命令的从业者。不需要你会深度学习,但需要你能看懂文件路径和命令行。如果你只有 CPU 或者显存低于 4GB,后面我也会说清楚边界在哪。
2. 装之前先想清楚:Stable Diffusion 到底跑在什么上
2.1 三个核心组件:权重、前端、运行时
Stable Diffusion 不是一个单独的程序。它由三部分组成,理解这三层,后面出问题你才知道该查哪里。
第一层是模型权重文件,通常以.safetensors或.ckpt结尾,体积在 2GB 到 7GB 之间。这是真正“画图”的部分,决定了出图风格。第二层是推理前端,常见的是基于 Gradio 的 WebUI,它负责把参数变成模型能懂的输入,再把结果渲染成网页。第三层是运行时环境,主要是 Python 和 PyTorch,负责调用显卡算力。
很多人把这三层混在一起,以为“装 Stable Diffusion”就是装一个东西。实际上你装的是前端,权重是另外下载的,运行时是前端依赖的。搞混了就会出现“我明明装了,怎么没有模型”这种问题。
2.2 显卡选型:N 卡、A 卡、Mac 的差别在哪
这是最容易被低估的一步。Stable Diffusion 对显卡的兼容性差异很大,选错了不是慢一点,是根本跑不起来。
| 平台 | 推荐度 | 关键限制 | 常见做法 |
|---|---|---|---|
| NVIDIA 显卡 | 最推荐 | 显存 ≥ 6GB 较稳 | 直接装 CUDA 版 PyTorch |
| AMD 显卡 | 可用但折腾 | Windows 下需特定配置 | 用 DirectML 或 Linux ROCm |
| Apple Silicon | 可用 | 统一内存共享 | 用 MPS 后端,速度中等 |
| 纯 CPU | 能跑但极慢 | 单张图可能几分钟 | 仅用于验证流程 |
我一般会建议:如果你还没买卡,优先选 NVIDIA,显存 8GB 以上。如果已经有 AMD 或 Mac,也能跑,但要有心理准备,某些前端版本对非 N 卡支持不完整,遇到报错先查社区有没有对应补丁。
提示:显存不是唯一指标,但它是硬门槛。6GB 能跑 512x512 的基础模型,想跑 1024x1024 或者用 SDXL,建议 12GB 起步。
2.3 磁盘和内存:被忽略的两个瓶颈
模型文件很大,一个基础模型 4GB 左右,加上你后面会下载的各种风格模型、LoRA、VAE,很容易占掉几十 GB。我建议单独留一个 100GB 以上的目录给模型,别放在系统盘。
内存方面,16GB 是底线。加载模型时会把权重读进内存再传到显存,内存不够会直接卡死或者报Killed。如果你同时开浏览器和前端,32GB 会舒服很多。
3. 本地安装实操:从零到出第一张图
3.1 环境准备:Python、Git、显卡驱动
先确认三样东西装好。打开命令行,逐条执行:
# 检查 Python 版本,建议 3.10 或 3.11 python --version # 检查 Git 是否可用 git --version # 检查 NVIDIA 驱动和 CUDA 版本(N 卡用户) nvidia-sminvidia-smi会输出驱动版本和它支持的 CUDA 版本。记住右上角那个 CUDA Version,后面装 PyTorch 要对上。如果这条命令报“不是内部或外部命令”,说明驱动没装好,先去显卡官网装驱动,别急着往下走。
Python 版本不要用最新的。3.12 刚出那会儿,很多依赖包还没跟上,装到一半报编译错误。3.10 和 3.11 是目前最稳的。
3.2 拉取前端并创建独立环境
不要直接装在系统 Python 里。用虚拟环境隔离,出问题删掉重来就行,不会污染全局。
# 克隆前端仓库到本地(这里用通用叫法,具体地址以你选的前端为准) git clone <前端仓库地址> sd-webui cd sd-webui # 创建虚拟环境 python -m venv venv # 激活虚拟环境 # Windows: venv\Scripts\activate # Linux / Mac: source venv/bin/activate # 升级 pip,避免旧版解析依赖出错 python -m pip install --upgrade pip激活成功后,命令行前面会出现(venv)字样。这一步的意义在于:所有依赖都装在这个文件夹里,你以后想换前端或者重装,直接删掉整个目录即可。
3.3 安装 PyTorch 和项目依赖
PyTorch 是核心,装错版本是最常见的翻车点。去 PyTorch 官网的安装命令生成页,按你的 CUDA 版本选对应命令。下面以 CUDA 11.8 为例:
# 安装 CUDA 11.8 对应的 PyTorch pip install torch torchvision --index-url https://download.pytorch.org/whl/cu118 # 安装前端项目依赖 pip install -r requirements.txtrequirements.txt里通常包含 Gradio、Transformers、Diffusers 等。如果安装过程中某个包编译失败,大概率是缺 C++ 编译工具。Windows 上装 Visual Studio Build Tools,Linux 上装build-essential。
装完后验证 PyTorch 能不能调用显卡:
import torch print(torch.cuda.is_available()) # 应输出 True print(torch.cuda.get_device_name(0)) # 输出你的显卡型号如果输出False,说明 PyTorch 没认到显卡,检查 CUDA 版本是否和驱动匹配。
3.4 下载模型权重并放到正确目录
前端装好了,但没有模型它画不出东西。模型权重需要单独下载,放到前端指定的目录,通常是models/Stable-diffusion/。
# 假设你已经下载了模型文件,移动到指定目录 # 目录名以你用的前端为准,常见是 models/Stable-diffusion mv ~/Downloads/your_model.safetensors ./models/Stable-diffusion/模型来源很多,选的时候注意两点:一是文件格式优先选.safetensors,比.ckpt更安全,不容易夹带恶意代码;二是看清楚是基础模型还是微调模型,基础模型出图更通用,微调模型风格更明确但可能偏科。
放好后启动前端:
# 启动 WebUI,具体启动脚本名以项目为准 python launch.py命令行会输出一个本地地址,通常是http://127.0.0.1:7860。浏览器打开,左上角模型下拉框里能看到你放的模型,就说明加载成功了。
3.5 第一张图:最小参数集
别一上来就调一堆参数。先用默认值跑通,确认流程没问题。
在提示词框里输入一段简单的英文描述,比如a cat sitting on a chair, simple background。采样步数保持 20,采样器选默认,图片尺寸 512x512,点生成。
第一次生成会慢一些,因为要加载模型进显存。如果显存不够,会报CUDA out of memory,这时候把尺寸降到 512x512 以下,或者加--medvram启动参数。
出图后,你至少验证了三件事:环境通了、模型加载了、显卡在干活。接下来才是调参的事。
4. 参数怎么调:提示词、采样器、步数与 CFG
4.1 提示词结构:正向和反向的分工
提示词不是随便写一句话。它分正向和反向两部分,正向描述你想要的,反向描述你不想要的。
正向提示词我一般按这个顺序组织:主体 → 细节 → 风格 → 画质词。比如:
# 正向提示词示例 1girl, silver hair, blue eyes, standing in a garden, soft lighting, detailed face, masterpiece, best quality反向提示词用来压制常见瑕疵:
# 反向提示词示例 lowres, bad anatomy, extra fingers, blurry, watermark, text权重语法也常用。(word:1.3)表示把这个词的重要性提高 30%,[word]表示降低。但别滥用,权重堆太多会让画面崩坏,这是血泪经验。
4.2 采样器选择:不同采样器的速度与稳定性
采样器决定了模型怎么从噪声一步步还原成图。常见的有 Euler、Euler a、DPM++ 2M、DPM++ 2M Karras 等。
| 采样器 | 特点 | 适用场景 |
|---|---|---|
| Euler | 快,结果稳定 | 日常快速出图 |
| Euler a | 带随机性,风格更活 | 创意探索 |
| DPM++ 2M | 质量较好,速度中等 | 通用推荐 |
| DPM++ 2M Karras | 细节更锐利 | 人像、精细场景 |
| DDIM | 老牌,速度快 | 兼容旧流程 |
我一般默认用 DPM++ 2M Karras,步数 25 到 30。Euler a 在步数低的时候容易出惊喜,但也容易出废图,看你需求。
4.3 步数和 CFG:两个最容易被调坏的值
步数(Steps)是迭代次数。太低(低于 15)画面没收敛,太高(高于 50)收益递减还费时间。20 到 30 是甜区。
CFG Scale 控制模型多大程度“听你的提示词”。太低(1 到 3)画面自由但偏离描述,太高(15 以上)颜色会过饱和、画面变硬。7 到 9 是常用范围,我一般用 7。
这两个参数一起调的时候,先固定 CFG 调步数,找到清晰度满意的点,再微调 CFG 看风格变化。同时改两个,你分不清是谁的功劳。
4.4 随机种子:复现和微调的关键
种子(Seed)决定了初始噪声。同一个种子加同一组参数,出图完全一致。想复现别人的图,除了提示词和参数,种子也必须一样。
想微调一张已经满意的图,锁定种子,只改提示词里的一两个词,画面主体不变,细节会跟着变。这是最实用的技巧之一。
5. 避坑与排查:那些让我重装三次的问题
5.1 报错 CUDA out of memory
现象:生成时命令行红字,提示显存不足,进程中断。
原因:图片尺寸太大、批量张数太多、或者同时加载了多个模型。
解决:先把尺寸降到 512x512,批量设为 1。还不行就加启动参数--medvram或--lowvram,让前端分步加载模型,牺牲速度换显存。实在不够就换卡,这是硬限制。
5.2 模型加载了但出图全黑或全灰
现象:流程正常,但生成的图是一片纯色或者噪点。
原因:最常见的是 VAE 不匹配。有些模型自带 VAE,有些需要外挂 VAE 文件,放错位置或者没放就会颜色异常。
解决:检查models/VAE/目录,确认有没有对应的 VAE 文件。如果没有,去模型发布页看说明,通常会标注推荐 VAE。放好后在前端设置里手动选一下。
5.3 提示词明明写了却不出对应内容
现象:写了blue eyes,出来却是棕色眼睛。
原因:提示词权重不够,或者被反向提示词压制,或者模型本身对这个概念训练不足。
解决:给关键词加权重(blue eyes:1.4),同时检查反向提示词里有没有冲突项。如果还不行,换个对人物细节训练更好的模型。这不是 bug,是模型能力边界。
5.4 启动时报缺少 xxx 模块
现象:ModuleNotFoundError: No module named 'xxx'。
原因:依赖没装全,或者虚拟环境没激活。
解决:先确认命令行前面有(venv)。然后手动补装:pip install xxx。如果补装还报错,看是不是版本冲突,用pip install xxx==版本号指定版本。实在乱就删掉虚拟环境重建,比一个个修快。
5.5 生成速度突然变慢
现象:之前一张图几秒,现在要几十秒。
原因:显存被其他程序占用,或者系统在跑后台更新,或者模型切换后没释放旧模型。
解决:关掉浏览器多余标签页和其他吃显存的程序。重启前端进程,让它重新加载。如果是 Windows,检查任务管理器里显卡占用,看是谁在偷用。
6. 进阶技巧:让出图从“能用”到“可控”
6.1 用图生图做局部修改
文生图是从零开始,图生图是在已有图上改。把一张满意的图拖进图生图区域,调整重绘幅度(Denoising strength)。0.3 左右只改细节,0.7 以上会大改结构。
我常用这个做“换背景”:把人物图放进去,提示词改成新背景描述,重绘幅度 0.5,人物基本保留,背景换掉。比重画一张省事得多。
6.2 LoRA 的加载与权重控制
LoRA 是小体积的风格或角色补丁,通常几十到几百 MB。放到models/Lora/目录,在提示词里用<lora:文件名:权重>调用。
# 调用 LoRA 的提示词写法 1girl, <lora:my_style:0.8>, standing in rain权重 0.6 到 1.0 是常用范围。太高会过拟合,画面变得僵硬;太低没效果。多个 LoRA 叠加时,总权重别超过 1.5,否则容易互相干扰。
6.3 用 XYZ 脚本做参数对比
前端通常自带 XYZ 脚本,可以一次性跑多组参数,输出对比图。比如 X 轴设采样器,Y 轴设 CFG,一次生成一张网格图,直观看到哪个组合最好。
这个功能帮我省了大量试错时间。以前调参靠一张张试,现在一次跑 9 组,一眼看出差异。建议每次换新模型都先跑一轮,摸清它的脾气。
6.4 批量出图的文件管理习惯
出图多了,文件会乱。我习惯按日期建文件夹,文件名保留种子和关键参数。前端设置里可以开启“文件名包含种子”,方便以后复现。
另外定期清理outputs目录,只留满意的图。不然几个月后你会发现硬盘被几万张废图塞满,找一张好图像大海捞针。
6.5 一个我坚持了很久的验证习惯
每次装新环境或者换新模型,我不会直接跑复杂提示词。先用一句最简单的a red apple on a table,步数 20,CFG 7,跑一张。这张图能出来且颜色正常,说明整条链路没问题。然后再上复杂参数。
这个习惯帮我快速定位问题:如果简单图都出不来,肯定是环境或模型的问题,不用怀疑提示词。如果简单图正常但复杂图崩,那就是参数或提示词的事。分而治之,比一上来就调一堆参数高效得多。
希望帮到你。
本文还有配套的精品资源,点击获取