[AI繪圖] 在Stable-diffusion-webui裡應用SDXL模型

最近SDXL1.0發布後,剛好注意到stable-diffusion-webui(AUTOMATIC1111)已經支援使用SDXL的模型了,這篇文章會詳細記錄如何在stable-diffusion-webui上使用SDXL模型。

如果還沒完成安裝可以參考這篇文章:[AI繪圖] Win11安裝Stable-Diffusion-WebUI(AUTOMATIC1111)流程

更新stable-diffusion-webui

如果你的stable-diffusion-webui版本足夠新,可以略過這一步。

首先,開啟安裝stable-diffusion-webui的資料夾,將滑鼠移到檔案路徑的上方並點擊左鍵。這樣檔案路徑應該會被反白,例如”C:\stable-diffusion-webui”(或您的安裝路徑)。接下來在檔案路徑上直接輸入”cmd”並按下Enter。


這會在該資料夾位置開啟一個黑色的命令提示字元視窗。在視窗中輸入指令”git pull”並按下Enter。

完成更新後,執行”webui-user.bat”。這時候會自動安裝一些相依性的套件,若版本差異較大可能需要稍微等一下。

下載SDXL相關模型

SDXL的模型要下載三個檔案:base、refiner和vae:

SDXL Base 1.0 :https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/blob/main/sd_xl_base_1.0.safetensors
SDXL Refiner 1.0:https://huggingface.co/stabilityai/stable-diffusion-xl-refiner-1.0/blob/main/sd_xl_refiner_1.0.safetensors
SDXL VAE 1.0 :https://huggingface.co/stabilityai/sdxl-vae/blob/main/sdxl_vae.safetensors

其中Base和Refiner要放在stable-diffusion-webui的安裝資料夾下的models\Stable-diffusion資料夾內。我的環境下使用的路徑為”C:\stable-diffusion-webui\models\Stable-diffusion”。


而VAE要放在stable-diffusion-webui的安裝資料夾下的models\VAE資料夾內。我的環境下使用的路徑為”C:\stable-diffusion-webui\models\VAE”。


新增快速選擇VAE選項

檔案放置完成後使用瀏覽器開啟stable-diffusion-webui的介面。在第一層的頁籤中選擇”Settings”,然後在側邊攔位選擇”User interface”。


往下滾動直到找到”Quicksettings list”選項。在這裡,找到並新增”sd_vae”選項。


完成新增後回到上方依序點選”Apply settings”和”Reload UI”按鈕以套用設定並重新載入使用者介面。現在應該可以在繪圖模式中快速選擇SDXL的VAE選項了。

使用SDXL模型

SDXL模型中的Base可以理解為一般的文生圖(txt2img)使用,而Refiner可以理解為用來精緻化文生圖(txt2img)結果的圖生圖(img2img)模型。(我知道還是不太一樣,但是使用上可以先這麼理解)

在txt2img畫面的左上角有一個下拉選單,在這裡選擇我們剛剛下載的sd_xl_base_1.0模型,並在旁邊SD VAE的下拉選單選擇sdxl_vae。
然後一樣輸入Prompt、調整一些想要的參數就可以生成圖了,使用SDXL建議生成圖像不要小於1024*1024效果會比較好。


這裡是我使用的測試Prompt:

a asian high school girl with blonde ponytail studying in the classroom, beautiful detailed eyes, sailor collar, school uniform, textbook, masterpiece, best quality, HDR, 8K, highres, extremely detailed, absurdres, ultra realistic, raw photo, photography, focus on face, simple background

SDXL的記憶體耗費會大很多,生成速度也比較慢,我用來測試的3060 12G記憶體也只是勉強夠用,如果記憶體不夠可能要試著用lowvram參數來啟動stable-diffusion-webui了。

再來把剛剛生成的圖放到圖生圖,這時候左上角下拉選單要選擇我們剛剛下載的sd_xl_refiner_1.0模型,下面是我把重繪權重調到0.3生成結果:


整體來說SDXL模型還很新,還沒有ControlNet、lora等等好用的插件和模型可以使用,而且生圖效率較差,就目前個人使用體驗覺得還有一段路要走(當然也可能是我還沒有找到正確的下Prompt方式)。