Linux 安装 Stable Diffusion WebUI

前几天把家里的工作站彻底换到 Linux 之后，发现之前在 Windows 上装的秋叶的整合 Stable Diffusion WebUI 用不了了，于是就打算在 Linux 上装一套玩玩。没想到在 Linux 上安装还是异常简单，整个过程算是很丝滑了。

环境准备

系统

Pop!_OS 22.04 LTS，基于 Ubuntu 22.04 的发行版

安装 CUDA

如果是像我一样用的 Pop!_OS 22.04 LTS 系统的话，可以直接用它针对 CUDA 优化的版本，这样就不需要自己折腾显卡驱动了

安装 git

Anaconda 环境

在官网查看最新的 Anaconda 版本（安装包大约 800MB），并参考下面的教程进行安装。

https://zhuanlan.zhihu.com/p/459607806

我安装的版本：Anaconda3-2023.03-1-Linux-x86_64.sh

记录下我的安装过程

下载安装包
Copy
wget https://repo.anaconda.com/archive/Anaconda3-2023.03-1-Linux-x86_64.sh
.sh

安装
Copy
bash ./Anaconda3-2023.03-1-Linux-x86_64.sh

按照提示同意用户协议

确认安装路径，默认安装到当前用户目录下面即可

等待安装完毕

然后在你当前的 shell 配置文件最后加入下面这行，将 Conda 可执行文件的路径加入环境变量

Copy
export PATH=$PATH:~/anaconda3/bin

添加完之后 source 一下，我是用的 zsh

Copy
source ~/.zshrc

确认 Python 环境，推荐使用 3.10

Copy
$ python --version
Python 3.10.9

中国特色环境配置

Pip 换源（这里使用阿里云的源）
Copy
pip config set global.index-url http://mirrors.aliyun.com/pypi/simple/
pip config set global.trusted-host mirrors.aliyun.com

下载 Stable Diffusion WebUI

Copy
# 可能需要自行准备能访问 github 的梯子
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git

运行 WebUI

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

对，你没看错，没有其他安装过程，直接运行 webui.sh 即可启动了。

第一次启动过程中会自动下载很多必要的模型和依赖包，你要做的就是确保一个通畅的网络。网络好的话，这个过程会很丝滑。

配置 & 安装模型

启动时加以下参数

--listen

用于让 web 服务监听 0.0.0.0 地址，从而可以在局域网内其他机器上访问，如果你只是本机访问的话就不需要加这个参数

--enable-insecure-extension-access

加了该参数之后就能够在 web 界面安装插件了

--medvram

如果你的显卡显存只有 4G，可以加上这个参数，起到一定的优化作用

Copy
unset all_proxy && unset no_proxy && ./webui.sh --listen --medvram --enable-insecure-extension-access

安装中文界面

打开 extension > available tab 页面

勾选隐藏选项，将 localization 的勾去掉，然后点「Load from」按钮

在下方加载出来的插件列表中找到 zh_cn 开头的本地化插件，点击右侧的 install 按钮

安装结束之后切换到「installed」tab 页，点击「restart and reload」按钮

重启好了之后，刷新页面即是中文界面了

安装 civitai 扩展

可以自动下载 model 扩展

安装方法跟前面安装中文界面插件一样，区别是可以直接从 URL 安装

https://github.com/civitai/sd_civitai_extension

下载 ChilloutMix 模型

https://civitai.com/models/6424/chilloutmix

下载后放到 ./models/Stable-diffusion 路径下

安装好之后点击 webUI 左上角下拉框右侧刷新按钮，然后下拉选择刚刚装好的这个 ChilloutMix 模型

下载你喜欢的 Lora 模型

例如：

https://civitai.com/models/21009/chicvibe

https://civitai.com/models/34530/taipei-high-school-girls-uniform

下载后放到 ./models/lora 路径下

使用

按照下图所示，设置模型，编写提示词，插入 Lora 模型标签。

lora:yaeMikoRealistic_yaemikoMixed:0.7 标签冒号后面的数字是权重，一般设置在 0.5-0.8 之间吧，如果使用多个 Lora 模型的话，模型权重的总和最好不要超过 1。

按照下图所示设置参数。推荐使用 DPM++ SDE Karras 这个，最少迭代 26 步就能出还不错的图。当然迭代步数越多出图的质量越高，但同时耗时也越长了

参考文档

https://www.bilibili.com/read/cv19123868

https://juejin.cn/post/7208946311886372924

可能会遇到的问题

如果你环境变量设置了 all_proxy, no_proxy 代理配置，你可能会遇到如下错误，解决方案是在启动前 unset 掉这两个环境变量
Copy
unset all_proxy && unset no_proxy && ./webui.sh