Stable Diffusion XL1.0正式發佈了,趕緊來嚐鮮吧

經過SDXL0.9和SDXL Beta的迭代,終於SDXL1.0正式版發佈了!
之前使用AIGC生成圖片,一般都是生成512*512的圖,然後再進行放大,以達到高清出圖的要求。但是這裏有個問題是底模其實都是海量的512*512圖片訓練出來的,所以出圖效果上經常不如人意,在細節上會差一些。這次SDXL1.0直接使用1024*1024的海量圖片訓練底模,而且分爲了文生圖用的base模型和圖生圖進行優化和放大的refiner模型,從而在開源免費的文生圖軟件上實現了不輸於Midjourney的出圖效果。

一、SDXL1.0簡介

1. SDXL和SD1.5模型有什麼差別

SDXL與原來的SD1.5模型除了大小不同外,最大區別是SDXL由base基礎模型和refiner優化模型兩組模型構成。您需要先運行基礎模型,然後再運行細化模型。基礎模型設置全局組成,而細化模型則添加更細節的細節。您也可以選擇僅運行基礎模型。
0
語言模型(理解您Prompt提示的模塊)是最大的OpenClip模型(ViT-G/14)和OpenAI專有的CLIP ViT-L的組合。這是一個聰明的選擇,因爲Stable Diffusion v2僅使用OpenClip,很難提示成功。重新引入OpenAI的CLIP可以使提示更容易。在v1.5上有效的提示在SDXL上也有很好的甚至更佳的效果。
擴散模型中最重要的部分U-Net現在大了3倍。加上更大的語言模型,SDXL模型可以生成與提示緊密匹配的高質量圖像。
因爲底模是1024*1024訓練的,比原來的512*512大了4倍,所以底模base基礎模型大小也達到接近7GB,refiner也是差不多7GB,對硬件(GPU顯存)的要求更高了!如果只有8G以下的顯存,建議還是別碰SDXL了。

2.圖片的真實感更強

因爲對提示詞的語義理解更準確,加上底模的分辨率更高,所以對光線、畫質、鏡頭、角度、焦點等等的渲染更到位,以下是我使用提示直接基於XL base模型產生的圖片。
photo of young Chinese woman, highlight hair, sitting outside restaurant, wearing dress, rim lighting, studio lighting, looking at the camera, dslr, ultra quality, sharp focus, tack sharp, dof, film grain, Fujifilm XT3, crystal clear, 8K UHD, highly detailed glossy eyes, high detailed skin, skin pores
0
如果基於這個圖再進行圖生圖,並使用refiner模型,那麼可以得到更好的效果。
0

3.對文字的渲染更可靠

之前在SD1.5時,是無法在提示詞中提升圖片中有哪些文字的,現在在SDXL中,可以比較好的實現對英文單詞的渲染,不過有時候也要看運氣,經常也會渲染的有些瑕疵,不過瑕不掩瑜,聊勝於無,總是一個不小的進步。這是提示詞:
A fast food restaurant on the moon with name "Devin Burger"
這是文生圖的一個圖片:
0
另外在二次元、場景渲染上SDXL都有不俗的表現,這裏就不一一舉例了,大家趕緊去體驗一下吧!
下面我們就來看看怎麼在Linux服務器上安裝和使用SDXL1.0吧。

二、安裝SDXL

1.環境準備

1.1 安裝Git等基礎軟件

這個就看是Ubuntu還是CentOS,命令可能有所不同,不用糾結,直接按照官方源安裝即可,不再贅述。

1.2 安裝 Anaconda

Anaconda是一個Python發行版,它包含了Python解釋器以及許多常用的Python庫和工具。Anaconda的目標是使Python環境的安裝和管理變得更加容易,特別是對於數據科學和機器學習等領域的工作。Anaconda中包含了許多用於數據處理、分析和可視化的庫,如NumPy、Pandas、Matplotlib等,以及用於機器學習和深度學習的庫,如Scikit-learn、TensorFlow和PyTorch等。Anaconda還提供了一個包管理器Conda,可以方便地安裝、更新和管理Python庫和工具。
進入網站:https://repo.anaconda.com/archive/ 直接下載最新版的Anaconda,比如:
curl -O https://repo.anaconda.com/archive/Anaconda3-2023.07-1-Linux-x86_64.sh
下載完成後,執行:
bash Anaconda3-2023.07-1-Linux-x86_64.sh
然後一路回車,該yes的時候yes一下,最終安裝完成。
安裝完成後需要添加環境變量到~/.bashrc中:
export PATH=$PATH:/root/anaconda3/bin
然後source ~/.bashrc,載入環境變量,接下來查看版本,確定是否安裝成功:
 conda -V
正確顯示就說明安裝成功了。

1.3 創建並進入 conda 環境

接着我們需要通過 Anaconda 創建 conda 環境,並基於該環境部署相應服務。
conda create -n sdwebui python=3.10
然後
conda init bash
執行完成後需要重啓終端。然後
conda activate sdwebui
進入了爲SD WebUI準備的環境中。
(sdwebui) [root@localhost]

2.Stable Diffusion WebUI的安裝

2.1 克隆Stable Diffusion WebUI源碼到本地

執行命令:
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
將代碼從GitHub克隆到本地。然後記得切換到支持SDXL的版本,比如v1.5.1,當然更高的版本也可以!
git checkout v1.5.1

2.2 修改配置並下載安裝依賴啓動服務

當然由於我們是在服務器上運行,所以我們需要開啓遠程訪問,而不能是127.0.0.1來訪問,另外也需要開啓一些優化之類的。我們需要修改webui-user.sh中的
export COMMANDLINE_ARGS="--disable-nan-check --no-half-vae --api --xformers --listen --share --enable-insecure-extension-access --medvram --opt-split-attention"
這裏參數是我經過使用總結出來的,建議開啓的,當然如果不想通過API來編程訪問,可以去掉--api,不過強烈建議開啓的是xformers,有了這個可以極大的節約GPU顯存的消耗。
修改好後運行./webui.sh 系統在第一次運行的時候會發現少了很多依賴的庫,所以會自動下載,這裏我們保持網絡通暢即可。
如果依賴下載完成,可以從控制檯日誌中看到啓動成功。我們在自己的電腦瀏覽器中訪問GPU服務器的IP:
即可看到SD WebUI了!

3.SDXL1.0大模型和vae下載

當前我們並沒有下載SDXL1.0的底模,需要手動從HuggingFace下載,具體URL:
這兩個文件是底模,大約7個G每個文件,下載到GPU服務器後,需要放到stable-diffusion-webui/models/Stable-diffusion文件夾中。另外還有一個VAE文件,是可選的,下載地址:
下載後放到stable-diffusion-webui/models/VAE 文件夾中。
然後我們來SD WebUI,刷新底模列表,即可看到XL的base和refiner模型。
至於VAE,默認是不顯示在UI中的,可以在設置的用戶界面選項中添加。接下來就可以在SD WebUI中享受SDXL帶來的新體驗吧!
0

三、總結

1.之前在SDXL1.0發佈之前,需要給sd-webui安裝Demo擴展才能使用SDXL,現在不需要了,所以如果之前已經安裝了Demo擴展的可以刪除掉了。
2.直接出尺寸在1024或者之上的圖,不要出512*512的圖。
3.之前下載的Lora和底模、Embedding等都不能在SDXL1.0上使用,所以需要重新從C站下載專門的SDXL版。很多Lora都沒有出XL版Lora,所以大家還是等等生態豐富了再作爲生產工具吧。
0
4.Lora訓練工具也更新了,有對應的SDXL版本分支,所以要搞Lora訓練的同學,記得切換訓練工具的版本,重新訓練屬於自己的XL Lora。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章