自动安装
Windows(方法1)
一个非常基本的指南,用于在Windows 10/11 NVIDIA GPU上启动稳定扩散Web UI。 1. 从这里下载
sd.webui.zip
,这个包是来自v1.0.0-pre
,我们将在第3步中将其更新到最新的webui版本。 2. 将zip文件解压到所需位置。 3. 双击update.bat
以将web UI更新到最新版本,等待完成后关闭窗口。 4. 双击run.bat
以启动web UI,在第一次启动期间,它将下载大量文件。在所有文件都已正确下载和安装后,您应该会看到一条消息"Running on local URL: http://127.0.0.1:7860
",打开链接将呈现给您Web UI界面。 您应该能够开始生成图像
通过COMMANDLINE_ARGS
进行额外配置
有一些配置选项可能需要应用到Web UI上,为了配置这些选项,您需要编辑位于sd.webui\webui\webui-user.bat
的启动脚本,编辑文件后在set COMMANDLINE_ARGS=
之后添加所选参数,如下所示:
set COMMANDLINE_ARGS=--autolaunch --update-check
每个单独的参数之间需要用空格分隔,上面的示例将配置Web UI在加载完成后自动启动浏览器页面,并在启动时检查新版本的Web UI。
故障排除
Web UI的默认配置应该可以在大多数现代GPU上运行,但在某些情况下,您可能需要一些额外的参数才能使其正常工作。
-
对于VRAM较少的GPU,您可能需要使用
--medvram
或--lowvram
,这些优化可以减少VRAM的需求,但会牺牲性能。如果您的VRAM不足,Web UI可能会拒绝启动或由于内存不足而无法生成图像。所需的VRAM量在很大程度上取决于所需的图像分辨率,有关更多详细信息,请参阅Troubleshooting。Tiled VAE扩展可以帮助减少VRAM需求。
-
如果您生成的结果是黑色或绿色图像,请尝试添加
--precision full
和--no-half
。 -
某些模型和VAE的组合容易产生
NansException: A tensor with all NaNs was produced in VAE
,导致图像变黑,使用选项--no-half-vae
可能有助于缓解此问题。
额外选项
- 有几种交叉注意力优化方法,例如
--xformers
或--opt-sdp-attention
,这些方法可以大大提高性能,有关更多详细信息,请参阅Optimizations,尝试使用不同的选项,因为不同的硬件适合不同的优化。如果您希望测量系统的性能,请尝试使用sd-extension-system-info扩展,该扩展具有基准测试工具和用户提交结果的数据库。 - 添加
--autolaunch
以在Web UI启动后自动启动Web浏览器。 - 添加
--update-check
将在有新版本的webui时通知您。 - 有关更多配置选项,请参阅Command Line Arguments and Settings。
提示
如果您已经下载了稳定扩散模型,您可以在运行步骤3中的run.bat
之前将模型移动到sd.webui\webui\models\Stable-diffusion\
,这将跳过自动下载香草stable-diffusion-v1-5模型模型。
Windows(方法2)
- 安装Python 3.10.6(勾选Add to PATH)和git。
- 从搜索栏中打开命令提示符,然后输入
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
。 - 双击
webui-user.bat
。
如果您遇到困难,可以观看安装视频:
解决#8229
视频:(点击展开)
https://user-images.githubusercontent.com/98228077/223032534-c5dd5b13-a4b6-47a7-995c-27ed8ba8b3e7.mp4替代的Powershell启动脚本:
**webui.ps1**if ($env:PYTHON -eq "" -or $env:PYTHON -eq $null) {
$PYTHON = "Python.exe"
} else {
$PYTHON = $env:PYTHON
}
if ($env:VENV_DIR -eq "" -or $env:VENV_DIR -eq $null) {
$VENV_DIR = "$PSScriptRoot\venv"
} else {
$VENV_DIR = $env:VENV_DIR
}
if ($env:LAUNCH_SCRIPT -eq "" -or $env:LAUNCH_SCRIPT -eq $null) {
$LAUNCH_SCRIPT = "$PSScriptRoot\launch.py"
} else {
$LAUNCH_SCRIPT = $env:LAUNCH_SCRIPT
}
$ERROR_REPORTING = $false
mkdir tmp 2>$null
```powershell
function Start-Venv {
if ($VENV_DIR -eq '-') {
Skip-Venv
}
if (Test-Path -Path "$VENV_DIR\Scripts\$python") {
Activate-Venv
} else {
$PYTHON_FULLNAME = & $PYTHON -c "import sys; print(sys.executable)"
Write-Output "在目录 $VENV_DIR 中使用 Python $PYTHON_FULLNAME 创建 venv"
Invoke-Expression "$PYTHON_FULLNAME -m venv $VENV_DIR > tmp/stdout.txt 2> tmp/stderr.txt"
if ($LASTEXITCODE -eq 0) {
Activate-Venv
} else {
Write-Output "无法在目录 $VENV_DIR 中创建 venv"
}
}
}
function Activate-Venv {
$PYTHON = "$VENV_DIR\Scripts\Python.exe"
$ACTIVATE = "$VENV_DIR\Scripts\activate.bat"
Invoke-Expression "cmd.exe /c $ACTIVATE"
Write-Output "Venv 设置为 $VENV_DIR。"
if ($ACCELERATE -eq 'True') {
Check-Accelerate
} else {
Launch-App
}
}
function Skip-Venv {
Write-Output "Venv 设置为 $VENV_DIR。"
if ($ACCELERATE -eq 'True') {
Check-Accelerate
} else {
Launch-App
}
}
function Check-Accelerate {
Write-Output '检查是否存在 accelerate'
$ACCELERATE = "$VENV_DIR\Scripts\accelerate.exe"
if (Test-Path -Path $ACCELERATE) {
Accelerate-Launch
} else {
Launch-App
}
}
function Launch-App {
Write-Output "使用 Python 启动应用"
Invoke-Expression "$PYTHON $LAUNCH_SCRIPT"
#pause
exit
}
function Accelerate-Launch {
Write-Output '加速中'
Invoke-Expression "$ACCELERATE launch --num_cpu_threads_per_process=6 $LAUNCH_SCRIPT"
#pause
exit
}
try {
if(Get-Command $PYTHON){
Start-Venv
}
} Catch {
Write-Output "无法启动 Python。"
}
**webui-user.ps1**
[Environment]::SetEnvironmentVariable("PYTHON", "")
[Environment]::SetEnvironmentVariable("GIT", "")
[Environment]::SetEnvironmentVariable("VENV_DIR","")
# webui.py的命令行参数,例如:[Environment]::SetEnvironmentVariable("COMMANDLINE_ARGS", "--medvram --opt-split-attention")
[Environment]::SetEnvironmentVariable("COMMANDLINE_ARGS", "")
# 启动应用程序的脚本
# [Environment]::SetEnvironmentVariable("LAUNCH_SCRIPT", "launch.py")
# 安装torch的命令
# [Environment]::SetEnvironmentVariable("TORCH_COMMAND", "pip install torch==1.12.1+cu113 torchvision==0.13.1+cu113 --extra-index-url https://download.pytorch.org/whl/cu113")
# 用于stable-diffusion-webui的要求文件
# [Environment]::SetEnvironmentVariable("REQS_FILE", "requirements_versions.txt")
# [Environment]::SetEnvironmentVariable("GFPGAN_PACKAGE", "")
# [Environment]::SetEnvironmentVariable("CLIP_PACKAGE", "")
# [Environment]::SetEnvironmentVariable("OPENCLIP_PACKAGE", "")
# 如果要覆盖默认的xformers windows,请取消注释并设置URL
# [Environment]::SetEnvironmentVariable("XFORMERS_WINDOWS_PACKAGE", "")
# 取消注释并设置以启用备用存储库URL
# [Environment]::SetEnvironmentVariable("STABLE_DIFFUSION_REPO", "")
# [Environment]::SetEnvironmentVariable("TAMING_TRANSFORMERS_REPO", "")
# [Environment]::SetEnvironmentVariable("K_DIFFUSION_REPO", "")
# [Environment]::SetEnvironmentVariable("CODEFORMER_REPO", "")
# [Environment]::SetEnvironmentVariable("BLIP_REPO", "")
# 取消注释并设置以启用存储库的特定修订版本
# [Environment]::SetEnvironmentVariable("STABLE_DIFFUSION_COMMIT_HASH", "")
# [Environment]::SetEnvironmentVariable("TAMING_TRANSFORMERS_COMMIT_HASH", "")
# [Environment]::SetEnvironmentVariable("K_DIFFUSION_COMMIT_HASH", "")
# [Environment]::SetEnvironmentVariable("CODEFORMER_COMMIT_HASH", "")
# [Environment]::SetEnvironmentVariable("BLIP_COMMIT_HASH", "")
# 取消注释以启用加速启动
# [Environment]::SetEnvironmentVariable("ACCELERATE", "True")
$SCRIPT = "$PSScriptRoot\webui.ps1"
Invoke-Expression "$SCRIPT"
查看Troubleshooting部分,了解如果出现问题应该怎么办。
Linux
(基于Debian的)
- 输入以下命令,将webui安装到当前目录:
sudo apt install git python3.10-venv -y
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui && cd stable-diffusion-webui
python3.10 -m venv venv
-
使用以下命令安装并运行:
./webui.sh {your_arguments}
其他发行版:
(基于Arch) sudo pacman -S git python3 -y && git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui && cd stable-diffusion-webui && ./webui.sh (基于Red Hat) sudo dnf install git python3 -y && git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui && cd stable-diffusion-webui && ./webui.sh安装Python 3.10
某些发行版的系统Python版本可能比Python 3.10要旧或者新。cd stable-diffusion-webui
sudo pacman -S pyenv
pyenv install 3.10.6
pyenv local 3.10.6
python -m venv venv
第三方安装指南/脚本:
- NixOS:https://github.com/virchau13/automatic1111-webui-nix
在不使用虚拟环境的情况下安装和运行
要在不创建虚拟环境的情况下通过pip安装所需的软件包,请运行:
python launch.py
可以直接传递命令行参数,例如:
python launch.py --opt-split-attention --ckpt ../secret/anime9999.ckpt
手动安装
手动安装已经非常过时,可能无法正常工作。请查看存储库的自述文件中的colab中的说明。
以下过程在Windows或Linux上手动安装所有内容(后者需要将dir
替换为ls
):
# 安装支持CUDA的torch。如果失败,请参考https://pytorch.org/get-started/locally/获取更多说明。
pip install torch --extra-index-url https://download.pytorch.org/whl/cu113
# 检查torch是否支持GPU;这必须输出"True"。您需要安装CUDA 11。我测试过可能可以使用其他版本。
python -c "import torch; print(torch.cuda.is_available())"
# 克隆web ui并进入其目录
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
cd stable-diffusion-webui
# 克隆稳定扩散和(可选)CodeFormer的存储库
mkdir repositories
git clone https://github.com/CompVis/stable-diffusion.git repositories/stable-diffusion-stability-ai
git clone https://github.com/CompVis/taming-transformers.git repositories/taming-transformers
git clone https://github.com/sczhou/CodeFormer.git repositories/CodeFormer
git clone https://github.com/salesforce/BLIP.git repositories/BLIP
# 安装稳定扩散的要求
pip install transformers==4.19.2 diffusers invisible-watermark --prefer-binary
# 安装k-diffusion
pip install git+https://github.com/crowsonkb/k-diffusion.git --prefer-binary
# (可选)安装GFPGAN(人脸修复)
pip install git+https://github.com/TencentARC/GFPGAN.git --prefer-binary
# (可选)安装CodeFormer的要求(人脸修复)
pip install -r repositories/CodeFormer/requirements.txt --prefer-binary
# 安装Web UI的要求
pip install -r requirements.txt --prefer-binary
# 更新numpy到最新版本
pip install -U numpy --prefer-binary
# (在命令行之外)将稳定扩散模型放入Web UI目录
# 下面的命令必须输出类似于:1个文件 4,265,380,512字节
dir model.ckpt
安装完成后,要启动Web UI,请运行:
python webui.py
Windows 11 WSL2 指南
在 Windows 11 的 WSL2 中安装 Linux 发行版:
# 安装 conda(如果尚未安装)
wget https://repo.anaconda.com/archive/Anaconda3-2022.05-Linux-x86_64.sh
chmod +x Anaconda3-2022.05-Linux-x86_64.sh
./Anaconda3-2022.05-Linux-x86_64.sh
# 克隆 webui 仓库
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
cd stable-diffusion-webui
# 创建并激活 conda 环境
conda env create -f environment-wsl2.yaml
conda activate automatic
在此步骤之后,可以按照手动安装的指南从“# clone repositories for Stable Diffusion and (optionally) CodeFormer”开始进行操作。
在 Windows 上使用 Conda 进行备选安装
- 先决条件 (仅在您没有这些软件时需要)。假设已安装 Chocolatey。
bash # 安装 git choco install git # 安装 conda choco install anaconda3
可选参数:git,conda - 安装(警告:某些文件超过多个千兆字节,请确保您有足够的空间)
- 下载为 .zip 文件并解压缩,或使用 git 克隆。
bash git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
- 启动 Anaconda 提示符。请注意,您可以使用较旧的 Python 版本,但您可能需要手动删除缓存优化等功能,这会降低性能。
bash # 导航到 git 目录 cd "GIT\StableDiffusion" # 创建环境 conda create -n StableDiffusion python=3.10.6 # 激活环境 conda activate StableDiffusion # 验证已选择环境 conda env list # 启动本地 Web 服务器 webui-user.bat # 等待 "Running on local URL: http://127.0.0.1:7860" 并打开该网址。
- 值得尝试的备选默认设置:
- 尝试使用更高的 Sampling Steps,例如 40 的 euler a(祖先 Euler)或其他值为 100 的设置。
- 将 "Settings > User interface > Show image creation progress every N sampling steps" 设置为 1,并选择确定性的 Seed 值。可以直观地看到图像扩散的过程,并使用 ScreenToGif 记录 .gif 文件。
- 使用 Restore faces。通常可以获得更好的结果,但这种质量是以速度为代价的。