大 纲

Stable Diffusion 是前段时间大火的 AI 图像生成工具之一,为开源免费的工具,可在用户本地部署运行,不过要想快速出图,需要配备 NVIDIA 显卡,且具备一定的显卡性能及充裕的显存。

Stable Diffusion 是 2022 年发布的深度学习文本到图像生成模型。它主要用于根据文本的描述产生详细图像,是一种潜在扩散模型,由慕尼黑大学的 CompVis 研究团体开发的各种生成性人工神经网络之一。它是由初创公司StabilityAI、CompVis 与 Runway 合作开发,并得到 EleutherAI 和 LAION 的支持。截至2022年10月,StabilityAI 筹集了1.01亿美元的资金。Stable Diffusion 的源代码和模型权重已分别公开发布在 GitHub和Hugging Face,可以在大多数配备有适度GPU的电脑硬件上运行。而以前的专有文生图模型(如Midjourney)只能通过云端运算服务访问。

相关站点: Python 官网 Git 官网 NVIDIA 官网 WebUI 仓库 Civitai 社区

第1步 安装 Python 及 Git

前往官网下载并安装 Python,为保证兼容性,推荐安装版本为 Python 3.10.6 ,安装完成后在「命令提示符」或者「终端」中输入下列命令验证是否安装成功。

Python -V

前往官网下载并安装最新版本 Git 工具,安装完成后在「命令提示符」或者「终端」中输入下列命令验证是否安装成功。

git --version

第2步 安装 CUDA 驱动(N卡用户)

如果电脑安装的是 NVIDIA 显卡,除更新的 Geforce 驱动外,还需额外安装 CUDA 驱动,在「命令提示符」中输入下列命令获取硬件所支持的最高 CUDA Version 版本号。

nvidia-smi

获取版本号后,前往 NVIDIA 官网下载并安装显卡所支持的最高 CUDA 版本对应 CUDA Toolkit 的驱动,近几年的新显卡通常能支持最新的CUDA Toolkit 12.3。

受国内网络影响,官网下载 CUDA Toolkit 安装包时推荐选在 local(本地)版本。

第3步 部署 WebUI

在「命令提示符」或者「终端」中定位到需要部署的路径,然后输入下列命令克隆 WebUI 仓库。

git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git

Stable Diffusion 部署路径需要预留足够的硬盘空间,否则将影响大型模型的部署,推荐为其预留 100GB 左右的硬盘空间。

如因网络原因无法通过「命令提示符」部署,也可浏览器进入WebUI仓库页面手动下载,下载后解压到需要部署的路径即可。

第4步 安装依赖程序

Windows

仓库部署完成后,Windows 用户进入文件夹左键双击运行 webui-user.bat 文件。

macOS

macOS 用户则是打开「终端」,定位到部署文件夹,输入如下命令运行 WebUI。

./webui.sh

运行后 WebUI 后会自动进行依赖程序的安装,包括 gfpgan、clip、requirements for Web UI、torch 等,其中部分程序大小达到 GB 量级,加上部分用户的网络限制,安装过程需要耐心等候。若某一步骤等待很久,窗口代码任无变化,可关闭窗口,重新打开 webui,多试几次。

当窗口出现 Running on 1ocal URL:http://127.0.0.1:7868,说明依赖程序安装已安装完成,此时在浏览器输入如下地址即可进入 WebUI 的用户页面。

http://127.0.0.1:7860

第5步 下载模型

Stable Diffusion 默认模型出图效果一般,为了丰富出图效果,需要选择更强大,更有针对性的模型,推荐访问一些AI模型网站,下载 model 和 lora 部署到本地。下列为一些常见的模型网站。

网站名称网址
Civitai 社区civitai.com
哩布哩布 AIliblib.ai
Hugging Face(抱脸网)huggingface.co/models
  • model,将后缀名为.safetensors的文件移动至如下路径。
.../stable-diffusion-webui/models/Stable-diffusion
  • lora,将后缀名为.safetensors的文件移动至如下路径。
.../stable-diffusion-webui/extensions/sd-webui-additional-networks/models/lora

第6步 WebUI 基本操作

切换中文用户界面

点击 「extensions」选项卡,然后点击 「Available」标签,取消勾选 「Hide extensions with tags」下方全部选项,然后点击 「Load from」按钮,在下方搜索框(Search)中输入CN,在下方列表中选择zh_CN localization插件,点击右侧「Install」按钮。安装完成后点击页面右下角「Reload UI」选项重启 WebUI。

重启后点击 「Settings」选项卡,在左侧边栏中点击 「User Interface」选项,在右侧「Localization」下方选项卡中选择zh_CN选项,然后再次点击页面右下角「Reload UI」选项重启 WebUI,重启后页面即切换成中文。

需切换回英文,在上述步骤中选择None选项后重启 WebUI 即可。

更新 WebUI

如果你是通过 Git 工具部署的 WebUI,可定位到 WebUI 部署路径,使用 git pull 命令自动更新。

如果未安装 Git 或者是使用了非 Git 的方式部署的 WebUI,则可在浏览器进入WebUI仓库页面手动下载最新版本,然后解压并覆盖到 WebUI 部署的路径。

注意在覆盖安装前,做好已下载的插件及模型的备份工作,避免丢失。

安装插件

插件功能插件名称
控制人物动作sd-webui-openpose-editor-main
无损放大分辨率4x-UltraSharp
无缝放大图片TiledDiffusion with Tiled VAE
提示词助手lora-prompt-tool
人物手部修复Depth Library
人物脸部修复After Detailer
手动控制构图Latent Couple
锁定生成图片的比例Aspect Ratio
动画插件Deforum
动画插件text2video
  • 在线库安装模式:点击 「extensions」选项卡,然后点击 「Available」标签,取消勾选 「Hide extensions with tags」下方全部选项,然后点击 「Load from」按钮,在下方搜索框(Search)中输入你想安装的插件名称,在下方列表中选择你需要安装的插件,点击其右侧「Install」按钮。安装完成后点击页面右下角「Reload UI」选项重启 WebUI。

  • 仓库地址安装模式:点击 「extensions」选项卡,然后点击 「Install from URL」标签,在地址栏中输入插件的仓库地址,点击「Install」按钮。安装完成后点击页面右下角「Reload UI」选项重启 WebUI。

第7步 出图流程

基本操作流程

  • 文字生成图片:选择模型 —> 填写提示词 —> 设置参数 —> 点击生成
  • 图片生成图片:选择模型 —> 指定图片 —> 设置参数 —> 点击生成

各参数含义

  • 提示词(Prompt):用于指定想要生成的图像的关键词,例如:人、城市、蓝天等,用逗号隔开作为输入,关键词输入的先后顺序越靠前的其作用于图像的权重越大。

  • 反向提示词(Negative prompt):用于指出你不想出现事物或情形的关键词,例如:缺手指、畸形等,用逗号隔开作为输入,一般用于对生成图片的细节进行把控。

  • 采样迭代步数(Sampling method):控制图像生成的迭代次数,每一次采样步数都是在上一次的迭代步骤基础上绘制生成一个新的图片,数值越高则图像精细度越高,建议在 18~30 之间。采样迭代步数过低会导致画面计算不完整,高的采样步数则是在图片细节处进行优化,需要与图像生成速度之间做到平衡。

  • 采样方法(Sampling steps):指定生成图像的采样算法,通常根据模型作者推荐的方式选择,常用到的是 Euler a,DPM++2S a Karras 和 DDI。

  • 宽度、高度(Width、Height):指定生成图像的像素尺寸,尺寸过大会增加图像出错的概率,同时尺寸越大对电脑的性能尤其是显存要求越高,也会大大增加图像生成的时间,建议控制在 1024 以内。

  • 提示词相关性(CFG Scale):控制图像和提示词描述的相关程度,数值越高生成的图像与提示词关联性越低,也越随机。对于人物类的提示词建议控制在 7~12 之间,对于建筑等物品类的提示词建议控制在 3~7 之间。

  • 随机种子(Seed):随机种子是一个可以锁定生成图像的初始状态的值,相同的参数可用于复现生成结果。默认值 -1 表示随机生成状态。