Skip to content

自动安装

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上运行,但在某些情况下,您可能需要一些额外的参数才能使其正常工作。

  1. 对于VRAM较少的GPU,您可能需要使用--medvram--lowvram,这些优化可以减少VRAM的需求,但会牺牲性能。如果您的VRAM不足,Web UI可能会拒绝启动或由于内存不足而无法生成图像。所需的VRAM量在很大程度上取决于所需的图像分辨率,有关更多详细信息,请参阅Troubleshooting

    Tiled VAE扩展可以帮助减少VRAM需求。

  2. 如果您生成的结果是黑色或绿色图像,请尝试添加--precision full--no-half

  3. 某些模型和VAE的组合容易产生NansException: A tensor with all NaNs was produced in VAE,导致图像变黑,使用选项--no-half-vae可能有助于缓解此问题。

额外选项

  1. 有几种交叉注意力优化方法,例如--xformers--opt-sdp-attention,这些方法可以大大提高性能,有关更多详细信息,请参阅Optimizations,尝试使用不同的选项,因为不同的硬件适合不同的优化。如果您希望测量系统的性能,请尝试使用sd-extension-system-info扩展,该扩展具有基准测试工具和用户提交结果的数据库
  2. 添加--autolaunch以在Web UI启动后自动启动Web浏览器。
  3. 添加--update-check将在有新版本的webui时通知您。
  4. 有关更多配置选项,请参阅Command Line Arguments and Settings

提示

如果您已经下载了稳定扩散模型,您可以在运行步骤3中的run.bat之前将模型移动到sd.webui\webui\models\Stable-diffusion\,这将跳过自动下载香草stable-diffusion-v1-5模型模型。

Windows(方法2)

  1. 安装Python 3.10.6(勾选Add to PATH)和git
  2. 从搜索栏中打开命令提示符,然后输入git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
  3. 双击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的)

  1. 输入以下命令,将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
  1. 使用以下命令安装并运行:

    ./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 进行备选安装

  • 先决条件 (仅在您没有这些软件时需要)。假设已安装 Chocolateybash # 安装 git choco install git # 安装 conda choco install anaconda3 可选参数:gitconda
  • 安装(警告:某些文件超过多个千兆字节,请确保您有足够的空间)
  • 下载为 .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" 并打开该网址。
    1. (可选) 前往 CompVis 下载最新模型,例如 1.4,并解压到例如: bash GIT\StableDiffusion\models\Stable-diffusion 然后通过重新启动 Anaconda 提示符来重新启动服务器,并执行以下操作: bash webui-user.bat
  • 值得尝试的备选默认设置:
    1. 尝试使用更高的 Sampling Steps,例如 40 的 euler a(祖先 Euler)或其他值为 100 的设置。
    2. 将 "Settings > User interface > Show image creation progress every N sampling steps" 设置为 1,并选择确定性的 Seed 值。可以直观地看到图像扩散的过程,并使用 ScreenToGif 记录 .gif 文件。
    3. 使用 Restore faces。通常可以获得更好的结果,但这种质量是以速度为代价的。