透過 AI 畫出超擬真人物 - 在自己的 Windows 本機上安裝 Stable Diffusion WebUI 教學

前言

我相信已經有不少人在 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 這個網站去發掘更多實用的例子。

圖片