🖥️ 安装至GNU/Linux

本文以Ubuntu 22.04 LTS为例子。

请使用一般用户,不可以用Root用户安装。

1 安装显卡驱动 #

1.1. Nvidia #

  1. 安装 专有Nvidia驱动,之后重开机。

  2. 安装 CUDA

  3. 确认驱动安装是否正确安装

nvidia-smi
nvcc --version

1.2. AMD #

  1. 安装AMD驱动程序,重开机。
sudo apt update && sudo apt upgrade -y
wget https://repo.radeon.com/amdgpu-install/22.40.3/ubuntu/focal/amdgpu-install_5.4.50403-1_all.deb
sudo apt-get install ./amdgpu-install_5.4.50403-1_all.deb
  1. 安装AMD ROCm,中间需要重开机。
sudo apt install linux-headers-`uname -r` linux-modules-extra-`uname -r`
curl -fsSL https://repo.radeon.com/rocm/rocm.gpg.key | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/rocm-keyring.gpg
echo 'deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/rocm-keyring.gpg] https://repo.radeon.com/amdgpu/5.4.2/ubuntu jammy main' | sudo tee /etc/apt/sources.list.d/amdgpu.list
sudo apt-get update
sudo apt install amdgpu-dkms
sudo reboot
echo 'deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/rocm-keyring.gpg] https://repo.radeon.com/rocm/apt/5.4.2 jammy main' | sudo tee /etc/apt/sources.list.d/rocm.list
echo -e 'Package: *\nPin: release o=repo.radeon.com\nPin-Priority: 600' | sudo tee /etc/apt/preferences.d/rocm-pin-600
sudo apt-get update
sudo apt install rocm-hip-sdk rocm-opencl-sdk
echo "export LD_LIBRARY_PATH=/opt/rocm-5.4.2/lib:/opt/rocm-5.4.2/lib64" >> ~/.bashrc
source ~/.bashrc
  1. 确认驱动是否有正确安装
# 应会看到driver=amdgpu
sudo lshw -c video
# 查看ROCm是否正确安装
sudo apt show rocm-libs

2. 安装Anaconda #

  1. 安装Python、wget、git。
sudo apt install python3 python3-pip python3-virtualenv wget git
  1. 安装 Anaconda

  2. 创建Python 3.10.6的虚拟环境

conda create --name sdwebui python=3.10.6

3. 拷贝Stable Diffusion WebUI保存库 #

  1. 将Stable Diffusion WebUI拷贝至用户家目录
cd ~
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
  1. (选择性) 将Anything v4.5模型下载至stable-diffusion-webui/models/Stable-diffusion目录。
wget -nc -P ~/stable-diffusion-webui/models/Stable-diffusion https://huggingface.co/andite/anything-v4.0/resolve/main/anything-v4.5-pruned.safetensors -O anything-v4.5-pruned.safetensors
  1. 启动虚拟环境:
conda activate sdwebui

如果想要于bash script自动以conda启动虚拟环境,可以把这二行加入至webui-user.sh顶端:

eval "$(conda shell.bash hook)"
conda activate sdwebui

于conda环境下,最好使用conda指令来安装套件。不过Stable Diffusion WebUI仍偏好以pip创建虚拟环境。

4. 设置启动参数 #

用VIM编辑webui-user.sh

显卡VRAM在8GB以上,将# COMMANDLINE_ARGS=替换成COMMANDLINE_ARGS=--xformers --enable-insecure-extension-access参数。

若显卡VRAM小于等于4GB,将# COMMANDLINE_ARGS=替换成COMMANDLINE_ARGS=--medvram --opt-split-attention --xformers --enable-insecure-extension-access参数。

额外加上--listen参数让其他电脑能以IP访问网页界面,--share则是产生一组Gradio网址。

加上--xformers可进一步减少VRAM占用,只支持Nvidia显卡。加入--no-half-vae减少使用VAE时算出黑图的几率。

加上--enable-insecure-extension-access让你在网页界面直接装扩充功能。加上--nowebui则不会启动网页界面,单纯接收WebUI API之用。

其余可用参数请见 命令行参数

5. 启动Stable Diffusion WebUI #

运行webui.sh,它会自动下载PyTorch并安装依赖套件。跑完它应该会显示一组网址,本机用浏览器打开http://127.0.0.1:7860进入网页图形界面。

cd ~/stable-diffusion-webui
./webui.sh