AB
AiBoss
Tutorials

Stable Diffusion

Tutorials

Stable Diffusion 入门教程:安装、文生图、图生图与 ControlNet 实操

面向刚接触本地 AI 绘画的读者,梳理 Stable Diffusion 的硬件与软件准备、模型与扩展安装、文生图与图生图参数、高清放大、ControlNet 与 LoRA 的典型用法,并给出一个从零跑通的完整示例。

Stable Diffusion 是一套可以在本地运行的文本生成图像模型,它把「用一句话描述画面」变成「得到一张可用的图」这件事,从云端服务搬到了自己的机器上。适合它的场景很明确:需要批量出图、需要固定某一种画风、需要把生成结果继续拿去做抠图或重绘、或者对提示词与参数想逐项调优的人。它的代价是前期要花一点时间把环境、模型和扩展装好,之后才谈得上顺手。如果你还没决定要不要本地部署,可以先通过 Stable Diffusion 这类在线入口感受一下出图流程,再决定是否投入硬件。

准备工作

本地跑图对硬件有实打实的要求,先把这一关过了,后面才顺。

硬件配置

  • 显卡:NVIDIA 独立显卡是主流选择,显存越大能开的画幅和模型越多。显存偏小的机器只能出较小尺寸的图,或者需要借助分块处理等手段。
  • 内存:系统内存建议留足余量,模型加载和图像后处理都会占用。
  • 硬盘:模型文件体积不小,多个基础模型加一堆 LoRA、ControlNet 模型,很容易吃掉几十到上百 GB,建议单独留一块空间。
  • 其他:AMD 显卡、Apple 芯片的机器也有对应的运行方式,但可用性和速度与 NVIDIA 路线不同,选型前先确认自己的平台有没有成熟方案。

具体的显存门槛、推荐配置会随版本和优化手段变化,以你所选发行版的官方说明为准。

软件环境

  • Python:多数发行版依赖 Python 运行环境,安装时注意勾选把 Python 加入系统路径,否则后续脚本会找不到解释器。
  • Git:用于拉取发行版仓库和扩展仓库。
  • 显卡驱动:保持较新的驱动版本,驱动过旧会出现算力不匹配或直接报错。
  • 网络:下载模型和扩展时需要能稳定访问对应的托管站点,网络不稳会导致下载中断、文件损坏。

发行版选择

Stable Diffusion 本身是模型与推理代码,日常使用一般通过某个整合发行版来跑。常见的有面向新手的整合包,也有以扩展生态丰富著称的 WebUI 发行版。选择时关注三点:是否自带一键启动脚本、扩展安装是否方便、社区文档是否齐全。装好之后你会得到一个本地网页界面,所有操作都在浏览器里完成。

操作步骤

第一步:安装发行版并首次启动

把发行版仓库克隆到本地,然后运行它提供的启动脚本。以命令行方式为例,大致形态如下:

git clone <发行版仓库地址>
cd <发行版目录>
# Windows 下运行启动脚本
webui-user.bat
# Linux / macOS 下运行
bash webui.sh

首次启动会自动安装依赖,耗时较长。启动完成后终端会打印一个本地地址,通常是 127.0.0.1 加一个端口号,用浏览器打开即可进入界面。如果启动过程中报错,优先看终端最后几行,常见原因是 Python 版本不符、依赖安装失败或显存不足。

第二步:安装基础模型

基础模型决定出图的整体风格与能力上限。把下载好的模型文件放进发行版指定的模型目录,通常是 models/Stable-diffusion。放好后在界面左上角的模型下拉框里刷新并选中它。

模型文件常见格式有 .ckpt 和 .safetensors,后者在加载安全性上更受推荐。文件体积通常在数 GB 量级,下载后建议核对文件大小是否完整,残缺文件会导致加载失败。

第三步:认识模型种类

  • 基础模型:决定整体画风与知识范围,是出图的底座。
  • LoRA:小体积的附加模型,用来给基础模型叠加特定人物、画风或概念,可调权重。
  • ControlNet 模型:用于控制构图,比如按线稿、姿态、深度图生成。
  • VAE:影响色彩与细节表现,部分基础模型需要搭配特定 VAE。
  • 放大模型:专门用于高清放大阶段,与基础模型分开存放。

第四步:文生图

文生图是最常用的模式,核心是提示词加参数。

提示词分正向与反向两部分。正向描述你想要的画面,反向描述你不想要的元素。写法上通常把主体、动作、环境、光线、风格、画质词按重要性从前往后排列,用英文逗号分隔。权重可以用括号加数字的方式调整,例如 (masterpiece:1.2) 表示提高该词的权重。

关键参数:

参数作用
采样方法决定去噪算法,不同方法在速度与细节上各有取舍
采样步数迭代次数,过低画面不完整,过高收益递减且更慢
提示词引导系数模型贴合提示词的程度,过高会显得僵硬
随机种子固定后同样的提示词与参数可复现同一张图
分辨率宽高需为 8 的倍数,过大容易构图崩坏
批次一次生成的数量,受显存限制

调参的基本思路是:先固定种子,只改一个变量,观察变化,再决定下一步。一次性改多个参数很难判断是哪个起了作用。

第五步:图生图

图生图以一张已有图片为起点,在其基础上重新生成。它多出一个关键参数——重绘幅度,用来控制新图与原图的偏离程度。数值低时接近原图,适合修细节、换风格;数值高时接近文生图,适合大幅改造。配合蒙版使用,可以只重绘指定区域,其余部分保持不变。

第六步:安装扩展

扩展用来补足原生界面没有的功能。安装方式一般是在界面的扩展管理页里粘贴仓库地址后点击安装,装完重启界面生效。也可以手动把扩展仓库克隆到 extensions 目录。安装失败时先看终端日志,常见原因是网络中断或依赖冲突。

第七步:图片高清放大

直接生成大尺寸图片容易构图崩坏,常规做法是先出小图,再放大。放大可以在图生图里配合放大模型与较低重绘幅度完成,也可以使用专门的放大扩展做分块处理。分块放大会把图片切成若干块分别放大再拼接,显存占用更低,但块与块之间可能出现接缝,需要调整重叠区域来缓解。

第八步:ControlNet

ControlNet 用来精确控制构图。使用前需要安装对应扩展,并把 ControlNet 模型放进指定目录。常见控制类型包括:

  • 线稿类:从图片提取边缘或线稿,按线条生成。
  • 姿态类:识别人物骨骼关键点,控制人物姿势。
  • 深度类:用深度图控制前后景关系。
  • 分割类:按语义分区控制画面布局。

使用时把参考图放进 ControlNet 面板,选择对应的预处理器与模型,再调整控制权重。权重过高会限制模型发挥,画面显得生硬;过低则控制失效。

第九步:LoRA 与模型训练

LoRA 通过叠加小模型来引入特定概念,使用时在提示词里用特定语法引用,并可通过权重控制强度。如果现成 LoRA 满足不了需求,可以自己训练:准备一批风格统一的素材图,打上标签,配置训练参数后开始训练。训练对显存和时间的要求比出图高得多,素材质量与标签准确度直接决定成品效果。

第十步:其他实用功能

  • X/Y/Z 图表:一次跑多组参数并排成网格,用来横向对比不同采样方法、步数或提示词的效果,是调参利器。
  • 提示词汉化:通过扩展把界面与提示词相关文本本地化,降低上手门槛。
  • 一键抠图与重绘:借助分割类扩展自动识别主体并生成蒙版,再配合图生图做局部重绘。
  • 视频转动漫:把视频逐帧拆成图片,批量走图生图流程,再合成回视频。

一个完整示例

下面走一遍从零到出图的最小流程。

  1. 克隆发行版仓库并运行启动脚本,等待依赖安装完成,浏览器打开终端给出的本地地址。
  2. 下载一个基础模型,放进 models/Stable-diffusion,在界面里刷新并选中它。
  3. 切到文生图页,正向提示词填写主体、环境、光线与画质描述,反向提示词填写不想要的元素,例如低质量、多余手指等。
  4. 采样方法选一个常用项,采样步数设为中等值,提示词引导系数保持默认附近,分辨率先设成较小的正方形。
  5. 随机种子填 -1 表示随机,点生成,观察结果。
  6. 如果构图满意但细节不足,把种子固定为刚才那张图的种子,适当提高步数再生成一次。
  7. 把满意的图送入图生图,重绘幅度调到较低值,配合放大模型做高清放大。
  8. 需要精确构图时,在 ControlNet 面板放入参考图,选择线稿或姿态类预处理器与模型,调整权重后重新生成。

整个流程跑通之后,剩下的就是围绕提示词、模型和参数反复迭代。

注意事项

  • 分辨率必须是 8 的倍数,否则会直接报错。
  • 显存是主要瓶颈,出图尺寸、批次数量、是否同时挂多个 ControlNet 都会影响占用,显存不足时优先降尺寸和批次。
  • 模型文件要完整,下载中断产生的残缺文件会导致加载失败,建议核对文件大小。
  • 固定种子才能复现,想对比参数效果时务必先固定种子,只改一个变量。
  • 重绘幅度是图生图的核心,数值选择直接决定结果是修图还是重画。
  • ControlNet 权重需要试,过高画面僵硬,过低控制失效,没有通用最优值。
  • 训练比出图更吃资源,素材数量、标签质量、训练步数都会影响成品,不要指望一次就得到理想效果。
  • 扩展安装依赖网络,安装失败先看终端日志,多数问题出在下载中断或依赖冲突。
  • 版本、模型许可与可用性会变化,涉及具体版本号、模型授权范围、硬件门槛时,以相关项目的官方页面当前信息为准。