MacOS 安裝 StableDiffusionWebUI 及 有用的 Extension

雖然網上有不少 Cloud 的 圖像生成 AI service,但是如果要大量/長期免費地使用,在本地安裝及依靠本機運算能力的 Stable Diffusion 是一個不錯的選擇。

由於我只有 M1 的 MacbookPro,所以只能寫 MacOS 版本的教學,不過上網也有不少 Windows 版本的教學可以參考。

首先看一下現時 MacOS 可以使用什麼軟件來安裝 Stable Diffusion。Stable Diffusion 不是一個軟件,是一個以潛在擴散方式生成圖像的模型,本身是以 Python 寫成,所以最直接的方法是安裝 Python 版本,並以 command 方式操作,但是為方便不會用 Python 的用家,有不少有 UI 的可操作版本出來了。

StableDiffusionWebUI 簡介

使用了 gradio 作為 Stable Diffusion 的 WebUI,並在 localhost 用 Web 顯示 UI,可以配合不同的 Model 及 Extension,更新速度極快,最新的功能一出來也馬上支援,但需要一點點操作一點點 Python。

由於更新速度快,功能最齊全,也是最廣為用家使用的 Stable Diffusion 界面,個人也是極度推薦使用 StableDiffusionWebUI ,因為有些 extension 也只有 WebUI 能用。

安裝方法

首先要安裝 Python 3.10,MacOS 通常本身有 Python 2.x 版本,為了方便版本控制最好先安裝 pyenv。安裝 pyenv 需要使用 Homebrew,所以我們的安裝次序如下(如已安裝可跳過)。

由於時間關係可以先下載 Stable Diffusion 1.5 的 Model
下載 v1-5-pruned-emaonly.ckpt - 4.27GB,

  1. 安裝 Homebrew
  2. 安裝 Python 3.10
  3. 安裝 StableDiffusionWebUI
  4. 安裝 StableDiffusionWebUI Extension
  5. 介紹下載 Model 的好地方

1. 安裝 Hombrew

  • Homebrew 是一個 MacOS 必用的安裝程式,使用官網的指令可以一鍵安裝。
  • /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  • 如缺少 Xcode 請先安裝 xcode-select --install
  • 安裝完成後可以用 brew update 更新一下 Homebrew 的目錄 (第一次會比較長時間)
brew update
  • brew update 後有軟件需要更新可用 brew upgrade 進行更新

2. 安裝 pyenv

pyenv 是用來控制 Python 版本的工具。首先用 python --version 指令看看現時的版本。只要不是 Python 3.10 就需要安裝,方法如下:

  • brew update 先更新一下 Homebrew
  • brew install openssl readline sqlite3 xz zlib 安裝 pyenv 須要的程式
  • brew install pyenv 可以安裝 pyenv
  • echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init -)"\nfi' >> ~/.bash_profile exec "$SHELL" 然後確保 pyenv 會自動更新

然後可以安裝 Python 3.10.6

  • pyenv install 3.10.6 安裝
  • pyenv global 3.10.6 設定
  • python --verison 查看一下版本是否真的是 3.10.6

3. 安裝 StableDiffusionWebUI

  • 成功安裝 Python 後
  • 首先安裝 StableDiffusionWebUI 所需的其他軟件
  • brew install cmake protobuf rust git wget
  • 建立 StableDiffusionWebUI 的資料夾 e.g. mkdir /Users/YourName/Documents/StableDiffusion/
  • 在 Terminal 在這個資料夾下用 git 下載 source code
  • git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
  • /Users/YourName/Documents/StableDiffusion/ 執行 ./webui.sh
  • 如果沒有任何 Model 在的話會自動下載 Stable Diffusion 1.5
  • 如事前已下載就可以將檔案放到 /Users/YourName/Documents/StableDiffusion/models/Stable-diffusion
  • /Users/YourName/Documents/StableDiffusion/ 執行 ./webui.sh
  • 第一次打開會自動下載一些檔案
  • 完成後在瀏覽器打開 http://localhost:7860 就可以見到 WebUI
  • 在 txt2img 的 prompt 輸入框中輸入一些 prompt 然後接右邊的 Generate / command + Enter 即時會開始 AI 生成圖片。
StableDiffusionWebUI

4. 安裝 StableDiffusionWebUI Extension

StableDiffusionWebUI 正體中文化安裝教學
StableDiffusionWebUI 正體中文化安裝教學及設定方法
StableDiffusionWebUI State 狀態儲存
這是可以自動保存上次設定的 Extension,強烈建議安裝

5. 下載 Model 的好地方

Civitai | Stable Diffusion models, embeddings, LoRAs and more
Civitai is a platform for Stable Diffusion AI Art models. Browse a collection of thousands of models from a growing number of creators. Join an engaged community in reviewing models and sharing images with prompts to get you started.
絕對是最多 Stable Diffusion 可以下載的網站
Models - Hugging Face
We’re on a journey to advance and democratize artificial intelligence through open source and open science.
官方的 Model 或一些重要 Extension 的 Model 都會放在 Hugging Face