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
載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。