隨著SDXL 1.0 AI圖像生成模型的發表,本系列教學所使用的Stable Diffusion AI WebUI也在更新到1.5版之後支援新模型,能夠帶來更理想的圖像品質。
![Ac4b198c9a6403fcff6af57d231fd107](https://cdn2.techbang.com/system/excerpt_images/108516/thumb/ac4b198c9a6403fcff6af57d231fd107.jpg?1690953196)
隨著SDXL 1.0 AI圖像生成模型的發表,本系列教學所使用的Stable Diffusion AI WebUI也在更新到1.5版之後支援新模型,能夠帶來更理想的圖像品質。
系統需求與注意事項
SDXL 1.0模型與先前SD 1.5系列模型最大的差異,就是具有更大量的參數,有利於生成品質更細膩、真實的圖像。不過隨著模型的量體增大,執行SDXL 1.0所需要的顯示記憶體也隨之增高,根據Stability AI開發團隊的說明,需要搭在12GB以上顯示記憶體的顯示卡才能順利執行。
不過根據筆者實際測試,搭配參數設定的情況下(後詳),顯示記憶體容量達8GB即可完成解析度為1024 x 1024的圖像生成,但無法完成利用細化器(Refiner)之進行細化,而10GB的容量則可完成圖像生成與最佳化。
另一方面,SDXL 1.0模型並不相容於以SD 1.5系列模型為基礎的LoRA小模型,而且目前社群中以SDXL 1.0模型為基礎訓練的各種Checkpoint模型也還不是很普及,所以當下「實用」的資源還不是很多。
筆者也隨手測試了SDXL 1.0模型並搭配細化器的圖像生成效果,品質與SD 1.5模型相比的確有相當明顯的提升。
測試圖像使用之提示詞:
(1girl is a DJ and drop the beat in Rave Party), neon, headphone, crowd,
(nice hands, perfect hands), wearing sexy dress, off shoulder, (studio lighting), face highlight, beautiful face, beautiful eyes, big eyes, grin,
▲ 使用SD 1.5模型生成的圖像,原生解析度只有512 x 512。若放大到1024 x 1024,畫面中的人物就容易產生嚴重變形。
▲ SDXL 1.0模型則能輕鬆生成原生解析度達1024 x 1024的圖像,且品質明顯提升。
▲ SDXL 1.0模型並搭配細化器對圖像進行最佳化處理,可以看到品質進一步提升,人物五官與光影等細節表現更理想。
SDXL 1.0安裝說明
對於已經安裝Stable Diffusion WebUI的讀者而言,雖然能透過更新的方式取得支援SDXL 1.0的版本,但為了避免在新版本遇到Bug而影響到舊有功能,所以筆者建議重新安裝SDXL 1.0專用的虛擬環境(venv),若有需要使用舊版功能,則直接啟動舊有虛擬環境即可,2組環境彼此不互相影響。
安裝流程
1. 建立新的SDXL 1.0專用的虛擬環境
2. 安裝模型、細化器、VAE
3. 設定快顯選單
4. (若遇到問題)進行額外參數設定
假設讀者已經參考先前2-1章節的說明,安裝了Git、Python 3.10、Miniconda等必須軟體,建議建立1組新的資料夾(例如命名為SDXL,建議完整路徑皆僅使用英文),進入該資料夾後在該資料夾內點擊滑鼠右鍵並選擇「Git Bash Here」,接著在跳出的視窗輸入
git clone [https:]
就能下載最新版Stable Diffusion WebUI。
如果讀者決定仍要更新現有Stable Diffusion WebUI而不進行全新安裝,則進入先前安裝位置的資料夾,並在Git Bash視窗並輸入
git pull
即可更新程式。
接下來讀者需要下載SDXL 1.0模型、細化器、VAE等檔案,並放置於對應資料夾
相關檔案下載
SDXL 1.0模型下載點:https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/blob/main/sd_xl_base_1.0.safetensors
細化器模型下載點:https://huggingface.co/stabilityai/stable-diffusion-xl-refiner-1.0/blob/main/sd_xl_refiner_1.0.safetensors
SDXL 1.0與細化器模型安裝位置:<安裝路徑> stable-diffusion-webuimodelsStable-diffusionSDXL_V1.0
VAE模型下載點:https://huggingface.co/stabilityai/sdxl-vae/blob/main/sdxl_vae.safetensors
VAE安裝位置:<安裝路徑> stable-diffusion-webuimodelsVAE
如果讀者使用的顯示卡之顯示記憶體容量低於12GB,則建議參考2-1章節編寫「RunSD.bat」的部分,在set COMMANDLINE_ARGS參數部分加入下列文字
--medvram
至於遇到不支援Float16資料格式的問題的話,則需加入下列2段文字
--no-half --disable-nan-check
完整RunSD.bat檔案內容參考
@echo off
set PYTHON=
set GIT=
set VENV_DIR=
set COMMANDLINE_ARGS=--medvram --no-half --disable-nan-check --xformers --enable-insecure-extension-acces
call webui.bat
之後只需跟著2-1章節的方式啟動新安裝的Stable Diffusion WebUI,就可以開始使用SDXL 1.0,但是為了增加選擇VAE的方便,這邊建議修改設定,以開啟VAE快捷選單,方便切換VAE。(筆者將一併開起CLIP快捷選單)
讀者需先進入Setting頁面並點選Show all pages,接著透過搜尋(Ctrl + F)Quicksettings list,並在欄位中填入
sd_model_checkpoing,CLIP_stop_at_last_lauers,sd_vae
等3個項目,最後回到頁面頂端點選Apply settings後,重新啟動Stable Diffusion WebUI即可。
▲ SDXL 1.0與細化器模型下後建議放在 <安裝路徑> stable-diffusion-webuimodelsStable-diffusionSDXL_V1.0 資料夾內。
▲ VAE則放在 <安裝路徑> stable-diffusion-webuimodelsVAE資料夾內。
▲ 將SDXL 1.0與細化器模型放在SDXL_V1.0資料夾的好處,是可以在選單中進行分類。
▲ 如果顯示記體容量不足,執行時會出現「not enough memory」錯誤訊息。
▲ 如果遇到資料格式相容問題,則會出現「your video card does not support half type」錯誤訊息。
▲ 這時候需編輯RunSD.bat檔案,並在set COMMANDLINE_ARGS參數部分加入紅線標示的「--medvram --no-half --disable-nan-check」等參數。
▲ VAE快捷選單的設定方式為進入Setting頁面並點選Show all pages。
▲ 接著透過搜尋(Ctrl + F)Quicksettings list,並在欄位中填入…「sd_model_checkpoing,CLIP_stop_at_last_lauers,sd_vae」。
▲ 需要注意的是,填寫過程中欄位會出現自動完成的選項,這時請點選對應的選項。完成後最後回到頁面頂端點選Apply settings後,重新啟動Stable Diffusion WebUI。
▲ 重新啟動後就會出現VAE快捷選單。
在安裝完SDXL 1.0之後,筆者將在下篇文章中說明SDXL 1.0與細化器的使用方式。
(回到系列文章目錄)
加入T客邦Facebook粉絲團