說明

Stable Diffusion web UI 是一套基於 Gradio 開發的開源軟體,提供網頁介面的方式來使用 Stable Diffusion 。在自己的電腦安裝之後,就可以無限地進行免費算圖。本篇文章將說明如何在 MacBook M1 上安裝 Stable Diffusion web UI ,以及提升效能加速算圖的方法。在開始安裝之前,建議 OS 先升級到 Ventura 版本以上。

算圖需要較好硬體配備,使用顯示卡進行 GPU 運算才會快,而我使用的電腦 MacBook M1 並不適合,速度不快但還勉強可以試試,配備如下:

  • 機型: MacBook Pro M1, 2020
  • OS版本: Ventura 13.2.1
  • 記憶體: 16 GB

前置作業

請先安裝好以下軟體

  • Homebrew

安裝

首先開啟終端機,輸入以下指令:

1
brew install cmake protobuf rust [email protected] git wget

上面是官方文件說要安裝的套件,如果已經有的套件例如 git, python 3 就可以不重複安裝。

接著下載專案,輸入指令:

1
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui

會下載一個資料夾 stable-diffusion-webui ,進入資料夾

1
cd stable-diffusion-webui

直接執行

1
./webui.sh

第一次執行它會自動開始下載和安裝一些套件和模組,可能要等幾十分鐘或幾小時。安裝完成之後他會跑起網站,如下圖
安裝 Stable Diffusion web UI

執行

跑起來後會看到中間有 http://127.0.0.1:7860 的文字,這時候就可以去瀏覽器輸入這個網址開啟介面。類似下圖
執行 Stable Diffusion web UI

直接在上方 Prompt 輸入框輸入文字試試看吧!例如產出下圖
執行 Stable Diffusion web UI

要結束程式就回到終端機按 Ctrl + C 即可,之後要跑起來一樣在終端機到 stable-diffusion-webui 的資料夾下執行 ./webui.sh 就好了。

加速

(新版 webui 已經包含以下設定)

MacBook Pro M1 可能還可以嘗試下面這個方法提升效能來加速算圖,但系統必須是 Ventura 以上版本。先到 stable-diffusion-webui 的資料夾下,備份 webui-user.sh 檔案,例如複製一份存為 webui-user.sh.bak 。你可以用終端機指令或者使用 Finder ,如果上面 git clone 沒有修改資料夾的話,應該會在使用者資料夾下,Finder 可以用「前往檔案夾」的功能開啟資料夾,輸入~/stable-diffusion-webui

備份完之後要編輯 webui-user.sh ,使用慣用的文字編輯開啟或系統內建的,然後找到下面這行:

1
#export COMMANDLINE_ARGS=""

改成

1
export COMMANDLINE_ARGS="--skip-torch-cuda-test --upcast-sampling --opt-sub-quad-attention --use-cpu interrogate"

找到

1
#venv_dir="venv"

改成

1
venv_dir="venv-torch-nightly"

找到

1
#export TORCH_COMMAND="pip install torch==1.12.1+cu113 --extra-index-url https://download.pytorch.org/whl/cu113"

改成

1
export TORCH_COMMAND="pip install --pre torch==2.0.0.dev20230210 torchvision==0.15.0.dev20230210 -f https://download.pytorch.org/whl/nightly/cpu/torch_nightly.html"

存擋之後再重新執行 ./webui.sh 他會重新安裝一些套件,完成之後再算圖看看速度是否有提升。

以我的電腦為例,在預設的設定條件下:

  • 加速前:45秒
  • 加速後:28秒

時間減少了將近 40% 。

延伸閱讀

下一篇 Stable Diffusion 教學 - web UI 文生圖 (txt2img)