Mekal Z

Mekal Z

A programmer running out of the wall.
twitter

Linux 安装 Stable Diffusion WebUI

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

环境准备#

  • 系统
    • 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
        
        • 按照提示同意用户协议
        • image_1682589080413_0.png
        • 确认安装路径,默认安装到当前用户目录下面即可
        • image_1682590035325_0.png
        • 等待安装完毕
        • image_1682589559520_0.png
        • 然后在你当前的 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
        

下载 Stable Diffusion WebUI#

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

运行 WebUI#

cd stable-diffusion-webui
./webui.sh
  • 对,你没看错,没有其他安装过程,直接运行 webui.sh 即可启动了。
  • 第一次启动过程中会自动下载很多必要的模型和依赖包,你要做的就是确保一个通畅的网络。网络好的话,这个过程会很丝滑。
  • image_1682590818468_0.png

配置 & 安装模型#

  • 启动时加以下参数
  • --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 扩展
  • 下载 ChilloutMix 模型
    • https://civitai.com/models/6424/chilloutmix
    • 下载后放到 ./models/Stable-diffusion 路径下
    • 安装好之后点击 webUI 左上角下拉框右侧刷新按钮,然后下拉选择刚刚装好的这个 ChilloutMix 模型
  • 下载你喜欢的 Lora 模型

使用#

  • 按照下图所示,设置模型,编写提示词,插入 Lora 模型标签。
  • lora:yaeMikoRealistic_yaemikoMixed:0.7 标签冒号后面的数字是权重,一般设置在 0.5-0.8 之间吧,如果使用多个 Lora 模型的话,模型权重的总和最好不要超过 1。
  • image_1682607463006_0.png
  • 按照下图所示设置参数。推荐使用 DPM++ SDE Karras 这个,最少迭代 26 步就能出还不错的图。当然迭代步数越多出图的质量越高,但同时耗时也越长了
  • image_1682607736746_0.png

参考文档#

可能会遇到的问题#

  • 如果你环境变量设置了 all_proxy, no_proxy 代理配置,你可能会遇到如下错误,解决方案是在启动前 unset 掉这两个环境变量
    unset all_proxy && unset no_proxy && ./webui.sh
    
    • image_1682594803647_0.png
加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。