Github: https://github.com/AUTOMATIC1111/stable-diffusion-webui
更新日志
webui 项目更新频繁,不能保证本文内容仍然适用于后续版本。
- 2024.01.22:更新至 webui v1.7.0 版本 (commit hash 为 cf2772f)
- 2023.06.14:文章首次发布,基于 v1.3.2 版本 (commit hash 为 baf6946)
部署环境
- 操作系统:Ubuntu Server 22.04(无图形界面)
- GPU:一张 NVIDIA RTX 3080Ti 显卡(12 GB 显存)
准备部署完成后通过其他电脑的浏览器访问服务器的 webui 服务。
全自动安装
官方给出的 Linux 安装指导非常简单:下载 webui.sh
,运行它,然后一切都会被全自动地下载、安装完成。
但是我是不情愿让别人对我的电脑做手脚而自己却不知情的,所以决定研究一下 webui.sh
. 在查看其内容之后,我发现它无非是干这么几件事:下载 webui 仓库、在 ./venv
下创建并激活 python 虚拟环境、调用 launch.py
安装需要的包及下载需要的仓库、启动 webui.
虽然 webui.sh
帮我们全自动地完成了这些工作,但它并不适合以下几种情况:
- 希望使用 conda 而不是 venv 来管理环境;
- 由于网络原因且缺少科技手段,
pip install
和 git clone
无法稳定执行;
- 希望在无网服务器上安装 webui;
- ……
于是在这些情况下我们只能手动分解步骤安装了。
分解步骤安装
1. 下载 stable-diffusion-webui 仓库
1 2
| git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git cd stable-diffusion-webui
|
2. 下载其他仓库
webui 仅仅是一个外层界面包装,核心功能是通过其他仓库(或以仓库的形式、或以安装包的形式)支撑的。其他仓库需放在 ./repositories
文件夹下:
然后依次下载以下仓库,并切换到合适的版本以避免可能的版本适配问题:
stablediffusion
1 2
| git clone https://github.com/Stability-AI/stablediffusion.git ./repositories/stable-diffusion-stability-ai git -C ./repositories/stable-diffusion-stability-ai checkout cf1d67a6fd5ea1aa600c4df58e5b47da45f6bdbf
|
generative-models
1 2
| git clone https://github.com/Stability-AI/generative-models.git ./repositories/generative-models git -C ./repositories/generative-models checkout 45c443b316737a4ab6e40413d7794a7f5657c19f
|
k-diffusion
1 2
| git clone https://github.com/crowsonkb/k-diffusion.git ./repositories/k-diffusion git -C ./repositories/k-diffusion checkout ab527a9a6d347f364e3d185ba6d714e22d80cb3c
|
CodeFormer
1 2
| git clone https://github.com/sczhou/CodeFormer.git ./repositories/CodeFormer git -C ./repositories/CodeFormer checkout c5b4593074ba6214284d6acd5f1719b6c5d739af
|
BLIP
1 2
| git clone https://github.com/salesforce/BLIP.git ./repositories/BLIP git -C ./repositories/BLIP checkout 48211a1594f1321b00f14c9f7a5b4813144b2fb9
|
3. 建立并激活新 conda 环境
1 2
| conda create -n sd-webui python=3.10 conda activate sd-webui
|
4. 安装 pytorch
1
| pip install torch==2.0.1 torchvision==0.15.2 --extra-index-url https://download.pytorch.org/whl/cu118
|
5. 安装 requirements.txt 中的依赖包
1 2
| pip install tb-nightly -i https://mirrors.aliyun.com/pypi/simple/ pip install -r requirements_versions.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
|
说明:requirements 中的 basicsr
装起来很容易出现问题,一阵摸索后得到的结论是,要先用阿里源安装 tb-nightly
,然后用清华源安装 basicsr
才能成功。
6. 安装其他依赖
1 2 3 4 5
| pip install https://github.com/openai/CLIP/archive/d50d76daa670286dd6cacf3bcd80b5e4823fc8e1.zip pip install https://github.com/mlfoundations/open_clip/archive/bb6e834e9c70d9c27d0dc3ecedeebeaeb1ffad6b.zip -i https://pypi.tuna.tsinghua.edu.cn/simple pip install -U -I --no-deps xformers==0.0.20 -i https://pypi.tuna.tsinghua.edu.cn/simple pip install ngrok -i https://pypi.tuna.tsinghua.edu.cn/simple pip install -r repositories/CodeFormer/requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
|
7. 下载基础模型
从链接下载基础模型(Stable Diffusion v2.1,safetensors 格式,5.21 GB),放在 ./models/Stable-diffusion/
下。
8. 启动 webui
服务默认运行在 127.0.0.1:7860
上。
一些常用参数:
--port PORT
:更改端口。
--xformers
:使用 xformers 优化时间和空间,建议使用。
--listen
:如果部署在远程服务器上,想通过其他电脑浏览器访问服务,则需要添加 --listen
参数,这样服务运行在服务器的 0.0.0.0:7860
上,我们在浏览器输入 <server ip>:7860
才能访问。
启动成功后界面如下: