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,
- 安裝 Homebrew
- 安裝 Python 3.10
- 安裝 StableDiffusionWebUI
- 安裝 StableDiffusionWebUI Extension
- 介紹下載 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 upgrade
進行更新
2. 安裝 pyenv
pyenv 是用來控制 Python 版本的工具。首先用 python --version
指令看看現時的版本。只要不是 Python 3.10
就需要安裝,方法如下:
brew update
先更新一下 Homebrewbrew install openssl readline sqlite3 xz zlib
安裝 pyenv 須要的程式brew install pyenv
可以安裝 pyenvecho -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 生成圖片。