个人Blog · 2024年2月9日 0

Stable Diffusion WebUI系列 | 在Windows上安装

Stable Diffusion WebUI支持Windows。本文以Windows 11 22H2为例,展示怎样在Windows系统上一步一步安装和设置Stable Diffusion WebUI。

此图使用Stable Diffusion WebUI生成

1. 安装显卡驱动程序

请确认电脑已经安装最新版的显示卡驱动程式。安装驱动程式后请重开机。nVidia显卡建议用 Geforce Experience安装最新驱动,会顺便安装CUDA。或者你想 手动下载CUDA也行。

AMD显卡请用 驱动程式自动侦测工具安装显示卡驱动。

Intel Arc显卡请安装 WHQL驱动。

2. 安装Git和Python

  1. 下载Git版本管理工具。至 Git for Windows下载安装档,一直下一步即可。
  1. 接着安装Python。SD WebUI建议Python版本为3.10.6。请至 Python官网下载Python 3.10.6的64位安装文件。
  1. 安装前务必勾选Add Python 3.10 to PATH,將Python加到环境变数。再按Install Now

如果你熟悉Python开发的话,改用Anaconda设定Python虚拟环境会更好。

Anaconda是针对资料科学打造的Python发行版,能管理一部电脑上的多重Python版本。如果之前已经装过旧版Python,不需要解除安装。

如果选择以Anaconda来安装Stable Diffusion WebUI的依赖套件,那么日后就不能用Windows终端机执行webui-user.bat,而得使用Anaconda Prompt,除非你將conda加入环境变数。

  1. 安装 Anaconda Miniconda
  2. 搜寻应用程序列表,开启Anaconda Prompt
  3. 切换至Stable Diffusion WebUI所在资料夹 (需先执行下一节的git clone指令)
cd C:\user\user\Desktop\stable-diffusion-webui
  1. 建立Pyhton 3.10.6的虚拟环境
conda create --name sdwebui python=3.10.6
  1. 启动虚拟环境,然后再看下下节设定並启动webui-user.bat,安装Python依赖套件。
conda activate sdwebui

3. 复制Stable Diffusion WebUI代码仓库

启动Powershell,并切换到想要安装Stable Diffusion WebUI的目录。

输入以下指令,检查目前Python版本,输出应为3.10.6

python --version
  1. nVidia显示卡用户输入以下指令,确认CUDA是否有正確安装,输出应含有nvcc: NVIDIA (R) Cuda compiler driver
nvcc --version
  1. nVidia显卡用户输入以下指令,复制Stable Diffusion WebUI的代码仓库。
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git

* AMD显卡用户请用这个DirectML的分支:

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

* Intel Arc显卡用户请用这个DirectML的分支:

git clone https://github.com/Aloereed/stable-diffusion-webui-arc-directml.git
  1. 复制完成后,桌面会多出资料夹stable-diffusion-webui。如果你有下载模型,將刚刚下载的存档点(checkpoint)模型放到models\Stable-diffusion资料夹。这个资料夹可放入多个存档点模型档。

4. 设定启动命令行参数

如下图所示,对stable-diffusion-webui资料夹里面的webui-user.bat按右键,以记事本开启 。

接着编辑set COMMANDLINE_ARGS=这一行启动引数。

若显示卡VRAM在8GB以上:

# 将set COMMANDLINE_ARGS=替换成set COMMANDLINE_ARGS=--enable-insecure-extension-access

若显示卡VRAM小于等于4GB:

# 将set COMMANDLINE_ARGS=替换成。加上--medvram是为了限制VRAM占用。set COMMANDLINE_ARGS=--medvram --opt-split-attention --enable-insecure-extension-access

如果电脑RAM(不是VRAM)小于等于8GB:

则把上述的命令行参数替换为:set COMMANDLINE_ARGS=--lowvram --opt-split-attention --enable-insecure-extension-access

(下面的不加也可以)

加上--xformers可进一步减少VRAM佔用,只支持nVidia显示卡。加入--no-half-vae减少使用VAE算出黑图的机率。

加上--listen参数再开放防火墙7860端口,即可用其他电脑的浏览器存取WebUI。

加上--share参数则会产生一组Gradio网址,让你可以从外部网络或手机使用WebUI。网址72小时后过期。

其余可用引数请见 Stabel Diffusion WebUI系列 | 命令行脚本参数

5. 启动Stable Diffusion WebUI

初次启动会下载好几个GB的资料,请保持网路顺畅,不要开VPN。如果Github访问不稳定,请想办法找代理绕过。

  1. 回到PowerShell,输入以下指令启动SD WebUI:
cd stable-diffusion-webui
./webui-user.bat
  1. 初次启动会下载依赖套件,大概要等个30分钟安装。
  2. 启动完成后会显示一组网址。执行程式时请勿关闭PowerShell。
  3. 用瀏览器开启:http://127.0.0.1:7860就可进入图形界面了。执行程式时请勿关闭PowerShell,执行时若出错PowerShell也会输出讯息。
  4. 要关闭SD WebUI,在终端机按Ctrl+C终止,再关闭PowerShell。

以后要启动SD WebUI,只要运行webui-user.bat即可 (不需要用系统管理员执行)。