前几天把家里的工作站彻底换到 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
- 记录下我的安装过程
- 下载安装包
wget https://repo.anaconda.com/archive/Anaconda3-2023.03-1-Linux-x86_64.sh .sh
- 安装
bash ./Anaconda3-2023.03-1-Linux-x86_64.sh
- 按照提示同意用户协议
- 确认安装路径,默认安装到当前用户目录下面即可
- 等待安装完毕
- 然后在你当前的 shell 配置文件最后加入下面这行,将 Conda 可执行文件的路径加入环境变量
export PATH=$PATH:~/anaconda3/bin
- 添加完之后 source 一下,我是用的 zsh
source ~/.zshrc
- 确认 Python 环境,推荐使用 3.10
$ python --version Python 3.10.9
- 下载安装包
- 中国特色环境配置
- Pip 换源(这里使用阿里云的源)
pip config set global.index-url http://mirrors.aliyun.com/pypi/simple/ pip config set global.trusted-host mirrors.aliyun.com
- Pip 换源(这里使用阿里云的源)
下载 Stable Diffusion WebUI#
# 可能需要自行准备能访问 github 的梯子
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
运行 WebUI#
cd stable-diffusion-webui
./webui.sh
- 对,你没看错,没有其他安装过程,直接运行 webui.sh 即可启动了。
- 第一次启动过程中会自动下载很多必要的模型和依赖包,你要做的就是确保一个通畅的网络。网络好的话,这个过程会很丝滑。
配置 & 安装模型#
- 启动时加以下参数
- --listen
- 用于让 web 服务监听 0.0.0.0 地址,从而可以在局域网内其他机器上访问,如果你只是本机访问的话就不需要加这个参数
- --enable-insecure-extension-access
- 加了该参数之后就能够在 web 界面安装插件了
- --medvram
- 如果你的显卡显存只有 4G,可以加上这个参数,起到一定的优化作用
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 模型
- 例如:
- 下载后放到 ./models/lora 路径下
使用#
- 按照下图所示,设置模型,编写提示词,插入 Lora 模型标签。
- lora:yaeMikoRealistic_yaemikoMixed:0.7 标签冒号后面的数字是权重,一般设置在 0.5-0.8 之间吧,如果使用多个 Lora 模型的话,模型权重的总和最好不要超过 1。
- 按照下图所示设置参数。推荐使用 DPM++ SDE Karras 这个,最少迭代 26 步就能出还不错的图。当然迭代步数越多出图的质量越高,但同时耗时也越长了
参考文档#
可能会遇到的问题#
- 如果你环境变量设置了 all_proxy, no_proxy 代理配置,你可能会遇到如下错误,解决方案是在启动前 unset 掉这两个环境变量
unset all_proxy && unset no_proxy && ./webui.sh