前言
我相信已經有不少人在 Google 的 Colab 雲端上玩過 Stable Diffusion WebUI,我試了一下速度也算可以,但有鑑於 Colab 會有各種資源上的限制,而且還會時常斷線,因此便有了把 Stable Diffusion WebUI 安裝在本機上的想法。
安裝 Git
-» Git For Windows «-
Git 是一個版本管理工具,可以幫助我們直接從 Github 上下載開源的 stable-diffusion,而且能在日後透過 Git 去更新最新版本。
安裝 Python
-» Python 官網 «-
從 python 的官網裡下載最新的 Windows installer 並安裝,安裝時記得勾選 Add Python 3.10 to PATH
,這樣就可以在任何路徑下使用到 python 指令,安裝到過程可以一直勾選下一步直到安裝完畢。
下載 Stable Diffusion WebUI
1.打開資料夾,選定一個用來放 Stable Diffusion WebUI 的路徑,然後按著 Shift + 右鍵,選擇開啟 PowerShell
2.輸入以下指令,確定 python 版本,是否安裝成功
python --version
3.使用 git clone 指令把 Stable Diffusion WebUI 在 github 上的儲存庫複製下來
Nvidia 顯卡:
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
AMD 顯卡:
git clone https://github.com/lshqqytiger/stable-diffusion-webui-directml.git
下載 ChilloutMix 模型
-» chilloutmix 模型 «-
此模型為現時最受歡迎的寫實風格模型,曾因過於受歡迎引起了各種道德問題和輿論壓力,導致該模型作者一度下架了該模型。
把下載好的 chilloutmix_NiPrunedFp32Fix.safetensors
放到 stable-diffusion-webui\models\Stable-diffusion
這個資料夾裡
嘗試啟動 Stable Diffusion WebUI
先回到 stable-diffusion-webui
的目錄中,Shift + 右鍵打開選單並開啟 PowerShell。
然後輸入指令:
.\webui-user.bat
執行該批次檔,在首次執行時應該會有一些錯誤的提示,大多數是因為未設定啟動參數。不同硬件所需要設定的啟動參數會略有不同。所以一定要留意錯誤提示訊息
設定啟動參數
基本上只需要編譯 stable-diffusion-webui
裡的 webui-user.bat
即可
原始的 webui-user.bat
:
@echo off
set PYTHON=
set GIT=
set VENV_DIR=
set COMMANDLINE_ARGS=
call webui.bat
以我個人為例,我只需要在 COMMANDLINE_ARGS 後面加上 --skip-torch-cuda-test
和 --xformers
就好了,具體是看錯誤提示訊息,缺啥補啥。
當然也有不同的 COMMANDLINE_ARGS 參數,比如電腦 RAM 小於等於 8GB 的話,加入 --lowvram
和 --opt-split-attention
。
如果想了解更多官方的參數設定,可查看這裡。
記得每次調整完啟動參數後,要把 venv
目錄刪除再重做 .\webui-user.bat
正式啟動 Stable Diffusion WebUI
同樣在 stable-diffusion-webui
的目錄下輸入指令:
.\webui-user.bat
當你看到 Running on local URL: http://127.0.0.1:7860
這句話出現,表示啟動成功。
把 http://127.0.0.1:7860
貼到瀏覽器上,就可以開始正式使用 Stable Diffusion WebUI
這時候就可以嘗試不同的 Prompt 和 Negative prompt,以文字生成圖片,透過 AI “畫”出你心目中的圖像。
更新 Stable Diffusion WebUI
由於 Stable Diffusion WebUI 專案是開源在 Github 上,各種大神的參與讓它更新迭代速度非常快,因此可以定期透過 Git 去進行更新
1.在 stable-diffusion-webui
這個資料夾裡面按住 Shift + 右鍵開啟 PowerShell,輸入下面指令取得目前分支的代碼
git rev-parse --short HEAD
會出現一組五位數代碼,用來以防萬一,如果更新失敗就靠這組代碼回到目前分支
2.使用 git pull 更新到最新版檔案。
git pull
- 如果更新後出現
Merge branch 'master' of
的訊息,請按 Esc 鍵,輸入:q!
退出即可。
3.如果更新失敗或不能正常運作,回到上一個分支代碼
git checkout "五位數的分支代碼"
結語
首次使用 Stable Diffusion WebUI 去”畫圖”時,不禁驚嘆 AI 在”創作”方面居然能以”以假亂真”、同時亦覺有幸見證 AIGC(AI Generated Content) 爆炸的 2023 年。
後話:
關於 Prompt 和 Negative prompt,可以到 Civitai 這個網站去發掘更多實用的例子。