更多

    圖像任你生!自建 Stable Diffusion WebUI 圖像生成平台

    Mickey Chan
    Mickey Chan
    愛模擬飛行、希望終有一日回到單車上的宅,眼鏡娘控。座右銘: 1.膽固醇跟美味是成正比的; 2.所有人都可以騙,但絕對不能騙自己; 3.賣掉的貨才是錢,不賣的收藏品不值一文; 4.踩單車,是為了吃更多美食! 5.正義的話語,不一定出自正義之人的口;

    圖像生成是近月 AIGC 其中一個熱門課題,很多人都會利用 Discord 或者網上提供的服務,不過要不是要輪候,就是要付費,有時候更會有「內容限制」,玩起來不夠爽。其實只要您有一部遊戲電腦,要在家中自建圖像生成平台不是甚麼難事!

    本文要介紹的是其中一款受歡迎圖像生成引擎 Stable Diffusion(SD)的網頁版介面 AUTOMATIC 1111 Stable Diffusion WebUI(WebUI)的安裝步驟,完成後大家可以在網上下載生成不同風格圖像的模型和修改模組(Embedding、LoRA 等),隨意無限量生成圖像。

    在家中電腦生成圖像,需要安裝的程式包括:

    • git
    • Python 3.10.x
    • AUTOMATIC 1111 Stable Diffusion WebUI
    • 圖像生成模型

    以下將會介紹備有 NVIDIA 顯示卡的圖像生成平台架設步驟,當然,AMD Radeon 顯示卡一樣可以架設圖像生成平台。本篇教學以配備 AMD Ryzen 9 5900HX CPU、NVIDIA RTX 3080 獨顯和 32GB DDR4 RAM 的 Lenovo Legion 7 電競筆電來安裝,OS 為 Windows 11 22H2。

    電腦最低要求

    記憶體:16GB 或以上
    顯示卡:NVIDIA GTX 7xx,最少 2GB VRAM(AMD Radeon 顯示卡亦可)
    操作系統:Windows 7/8/10/11+、Mac M1/M2 或 Linux
    儲存空間:10GB 或以上(包括模型)

    第一部:安裝 git

    git 是軟件版本管理工具,在安裝和日後維護 WebUI 都經常被調用。安裝時除了指定 Notepad 作為預設編輯器、實驗性功能全部不安裝之外,其他的設定只要選用預設值即可。

    git 下載網址:按此

    第二部:安裝 Python 3.10.x

    Python 是 SD 的執行環境,但要注意雖然 Python 3.11 經已推出一段時間,不過 WebUI 主要根據 Python 3.10 來設定,以其他版本來安裝會在執行時出現這個那個無法安裝的問題。如果不想有麻煩的話,最好是安裝 Python 3.10.x 版本。

    撰文時 Python 3.10 最新的版本是 3.10.10,安裝時要注意在第一個畫面勾選「Add python.exe to PATH」,將 Python 安裝在執行路徑上,否則 WebUI 在執行期間可能會出現找不到 Python 的情況。其他就以預設值安裝即可。

    Python 3.10.x 下載網址:按此

    第三部:安裝 CUDA 工具箱

    下載 CUDA 工具箱網址:按此

    第四部:安裝 Stable Diffusion WebUI

    WebUI 是 SD 的網頁操作介面,免除手動輸入指令的麻煩,而且安裝模型、模組的方法簡單,只要把檔案拷貝到指定目錄內即可。日後想深入研究如自行訓練模型、LoRA,以至 OpenPose 自訂動作等都可以在這個介面搞定。

    Step 1. 先在電腦裡找個有 10GB 空間的地方,開設一個名為「Stable Diffusion」的文件夾集中收藏有關 SD 的檔案(名字任意);

    Step 2. 在搜尋列輸入「cmd」找尋命令列工具,並開啟它;

    Step 2. 在搜尋列輸入「cmd」找尋命令列工具,並開啟它;

    Step 3. 用指令移動到剛開設的文件夾位置;

    Step 4. 輸入以下指令:「git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git」,就會從 GitHub 下載 WebUI 到當前文件夾;

    Step 4. 輸入以下指令:「git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git」,就會從 GitHub 下載 WebUI 到當前文件夾;

    第五部:按系統規格設定 Stable Diffusion WebUI

    接著的設定要視乎您所用的顯示記憶體 VRAM 數量來調整圖像生成時所耗用的資源。

    Step 1. 在搜尋列輸入「dxdiag」找尋 DirectX 除錯工具並開啟它;

    Step 1. 在搜尋列輸入「dxdiag」找尋 DirectX 除錯工具並開啟它;

    Step 2. 等一會,就會顯示電腦的規格資料,當中「Display 2」一頁就會列出顯示卡的規格,「Display Memory」就是 VRAM 數量;

    Step 2. 等一會,就會顯示電腦的規格資料,當中「Display 2」一頁就會列出顯示卡的規格,「Display Memory」就是 VRAM 數量;

    知道 VRAM 有多少之後,就按情況來選擇以下啟動參數:

    • 2GB 或以下 VRAM:--lowvram
    • 2-6GB:--medvram
    • 6GB 以上 VRAM:不需要額外參數

    由於 RTX 3080 筆電版有 16GB VRAM,非常夠用,所以我們加入更多額外指令來提升畫質:

    • --xformers:加速推算
    • --precision full:評估時所用的精度
    • --no-half:不要切換模型至 16-bit 單精度浮點數
    • --autolaunch:程式啟動後立即開啟 WebUI 網頁

    決定啟動參數之後,就要用 Notepad 來開啟 WebUI 文件夾裡的「webui-user.bat」檔案,然後將參數添加到「set COMMANDLINE_ARGS=」之後儲存起來即可。

    第六部:下載模型

    接下來只要下載喜歡的模型,放在指定文件夾裡即可生成圖像。以下是一些著名的模型,大家大可以先下載來試試看,往後再在網上找尋其他模型來玩。

    (備註:安裝 Anything 時要注意可以同時下載一個用來微調容貌和眼睛的 VAE(變量自動編碼器)anything-v4.0.vae.pt,把它改名為 anything-v4.5.vae.pt 與 anything-v4.5-pruned.safetensors 放在一起即可。)

    以上下載的都是模型,只要把它們搬到 WebUI 文件夾下面,「models\Stable-diffusion」文件夾即可。當中有些模型的文件名稱會加入「-pruned」字樣的,表示那是經過清理的版本,檔案會較小。使用前應將檔名中「-pruned」的部分刪除。

    除了以上模型之外,大家還可以到 Hugging FaceCivitAI 這些著名模型庫裡找尋更多模型。

    第七部:生成圖像

    到這裡 WebUI 圖像生成平台已經可以使用,大家只要雙擊第四部中修改過的 webui-user.bat 檔,就會打開一個命令列視窗,那就是 WebUI 的本體。

    首次執行時,會安裝一系列必要的模組。由於我們在啟動參數加入了 –autolaunch,所以完成後期安裝和啟動後,就會自動開啟 WebUI 網頁供大家使用。大家要記住命令列視窗才是程式的本體,所有進度和錯誤都會在那裡列出,網頁只是操作介面。如果操作時覺得程式呆了,就應該查看命令列視窗。

    介面說明

    1. 當前選用的模型
    2. 正向提示,是您希望圖中「有」的元素
    3. 反向提示,是您希望圖中「沒有」的元素
    4. 取樣方法,對產生的圖像細節有很大影響
    5. 取樣次數,愈大愈精密,但也愈耗資源。可以由 28 開始,RTX 40 系列顯示卡生成大型圖像時可用到 100。
    6. 修正面部問題
    7. 修正高解像度圖像可能出現古怪情景
    8. 決定 AI 有多遵從您的提示生成圖片,愈低愈「亂來 有驚喜」。最高不可以大於 15。
    9. 種子值,生成圖像的隨機值。即使模型和所有參數相同,這個數不同所產生的圖像都會有很大差別。相對地,如果所使用模型、參數以至種子值都一樣,生成的圖像的變化就會很少。右邊的骰子是將種子值設為隨機(-1),而綠色循環標誌就可以重用上一張圖片的種子值,方便鎖定感到滿意的圖片加以微調。

    首次使用時大家大可到 CivitAI 參考一下網友貼上的參考圖片,當中如果右下角有「i」字標誌,就可以點擊它查看當中的參數作參考。要留意是圖像尺寸也會對生成的影像有重大影響,參考別人生成的圖片時別忘留意圖像的尺寸。

    SD 博大精深,網上還有大量模型和修飾模組等。這篇教學只簡單介紹了自建圖像生成平台的方法,只是一個起步點,日後有機會再跟大家討論更多 SD 的技巧。

    您會感興趣的內容

    相關文章