sdxl
Stable Diffision最新模型SDXL 1.0使用全教程 - 知乎
Stable Diffision最新模型SDXL 1.0使用全教程 - 知乎切換模式寫文章登錄/注冊Stable Diffision最新模型SDXL 1.0使用全教程社恐患者楊老師AI領(lǐng)域研究者SDXL 1.0 的新特性7月26日Stability AI開源了大家期待已久的全球最強(qiáng)文生圖模型SDXL 1.0。SDXL 1.0具有以下新特性:更好的成像質(zhì)量:SDXL能夠以幾乎任何藝術(shù)風(fēng)格生成高質(zhì)量的圖像,SDXL 1.0比SD v1.5和SD v2.1(甚至比SDXL 0.9)都有巨大的提升!盲測者評(píng)估圖像在各種風(fēng)格、概念和類別中的整體質(zhì)量和美學(xué)都是最好的。更多藝術(shù)風(fēng)格:SDXL v1.0比其前身能夠?qū)崿F(xiàn)更多的風(fēng)格,并且對(duì)每種風(fēng)格都“知道”得更多。您可以嘗試比以前更多的藝術(shù)家名稱和美學(xué)。SDXL 1.0特別適合生動(dòng)、準(zhǔn)確的顏色,比其前身具有更好的對(duì)比度、光照和陰影,質(zhì)量可與Midjourney的最新版本相媲美。更智能、更簡單的語言:SDXL只需要幾個(gè)詞就能創(chuàng)建復(fù)雜、詳細(xì)、美觀的圖像。用戶不再需要調(diào)用“杰作”等限定詞來獲得高質(zhì)量圖像。此外,SDXL能夠理解諸如“紅場”(一個(gè)著名的地方)與“紅色正方形”(一個(gè)形狀)之間的概念差異。更高的分辨率:SDXL 1.0的基礎(chǔ)分辨率為1024 x 1024,比其前身產(chǎn)生了更好的圖像細(xì)節(jié),同時(shí)SDXL 1.0處理寬高比效果更好。最大的開放圖像模型:SDXL 1.0擁有任何開源文生圖模型中最大的參數(shù)數(shù)量之一,它建立在一個(gè)創(chuàng)新的新架構(gòu)上,由一個(gè)3.5B參數(shù)基礎(chǔ)模型和一個(gè)6.6B參數(shù)精煉器組成。完整模型由一個(gè)專家混合管道組成,用于潛在擴(kuò)散:微調(diào)和高級(jí)控制:使用SDXL 1.0,微調(diào)模型以適應(yīng)自定義數(shù)據(jù)比以往更容易??梢允褂酶俚臄?shù)據(jù)整理來生成自定義LoRAs或檢查點(diǎn)。Stability AI團(tuán)隊(duì)正在構(gòu)建T2I/ControlNet專門針對(duì)SDXL構(gòu)建下一代的特定任務(wù)結(jié)構(gòu)、樣式和組成控制。Stability AI 將 SDXL 1.0 與各種模型進(jìn)行了對(duì)比測試,即在Discord上進(jìn)行了這幾代Stable Diffusion模型的偏好測試,可以看到:人們更喜歡由 SDXL 1.0 生成的圖像。一個(gè)月前的SDXL 0.9版本偏好率是24.4%,低于SDXL 1.0新版26.2%的偏好值得注意的是,SDXL附帶了2個(gè)模型和一個(gè)2步過程:基礎(chǔ)模型可以單獨(dú)使用在第一步中,基礎(chǔ)模型生成(嘈雜)潛在因素,然后由專門用于最終去噪步驟的精煉模型進(jìn)一步處理。注意,基礎(chǔ)模型也可以作為獨(dú)立模塊使用,但精煉模型可以為圖像增加很多銳度和質(zhì)量。這種兩階段架構(gòu)允許在不損害速度或需要過多計(jì)算資源的情況下實(shí)現(xiàn)圖像生成的魯棒性。SDXL 1.0能夠有效地運(yùn)行在具有8GB 顯存或可用云實(shí)例的消費(fèi)者GPU上。論文:SDXL: Improving Latent Diffusion Models for High-Resolution Image Synthesis組織:Stability AI, Applied Research論文地址:https://arxiv.org/pdf/2307.01952.pdf代碼地址:https://github.com/Stability-AI/generative-models模型權(quán)重:https://huggingface.co/stabilityai/ 如何使用SDXL 1.0在線使用SDXL 1.0目前Stability AI給出了幾種在線使用SDXL 1.0的方法:在Clipdrop上體驗(yàn)SDXL 1.0: Clipdrop.在Stability AI平臺(tái)上通過API使用SDXL 1.0: Stability AI Platform.在AWS Sagemaker和AWS Bedrock上獲取SDXL 1.0: AWS Sagemaker and AWS Bedrock.可以加入Stable Foundation Discord進(jìn)行SDXL模型的實(shí)時(shí)測試: Stable Foundation Discord DreamStudio也提供SDXL 1.0用于圖像生成: DreamStudio這里我比較推薦的是第一種Clipdrop和第四種在discord社區(qū)中使用SDXL 1.0模型。這兩種方法算是最簡單、最省事的方案了。 本地部署SDXL 1.0國內(nèi)用戶使用stable diffusion更多的還是通過秋葉大佬的啟動(dòng)器+WebUI的形式。因此這里就以秋葉的啟動(dòng)器和WebUI為例介紹一下,如何用最簡單最傻瓜的方式來使用SDXL 1.0模型。首先先把啟動(dòng)器更新至1.5.1的版本。打開啟動(dòng)器后選擇左側(cè)側(cè)邊欄的版本管理,然后點(diǎn)擊右上角的一鍵更新即可。下載模型下載以下兩個(gè)模型文件(需要到 Files and Versions 中尋找模型文件):sd_xl_base_1.0.safetensorssd_xl_refiner_1.0.safetensors下載SDXL VAE文件:SDXL VAE 裝載模型將下載好的兩個(gè)模型文件放到你的SD文件夾的如下路徑:stable-diffusion-webui/models/Stable-Diffusion.然后將VAE文件放到如下路徑:stable-diffusion-webui/models/VAE. 設(shè)置VAE如果您沒有VAE下拉菜單:在WebUI中點(diǎn)擊“設(shè)置”選項(xiàng)卡>“用戶界面”子選項(xiàng)卡。然后在“快速設(shè)置列表”設(shè)置下添加sd_vae滾動(dòng)到設(shè)置的頂部。點(diǎn)擊保存設(shè)置,然后重新加載UI?,F(xiàn)在您將在檢查點(diǎn)模型下拉菜單旁邊看到VAE下拉菜單。選擇您下載的VAE,sdxl_vae.safetensors使用SDXL 1.0SDXL 1.0在WebUI中的使用方法和之前基于SD 1.5模型的方法沒有太多區(qū)別,依然還是通過提示詞與反向提示詞來進(jìn)行文生圖,通過img2img來進(jìn)行圖生圖。需要注意的是由于SDXL的基礎(chǔ)模型是在1024x1024分辨率下設(shè)置完成的,因此有以下三點(diǎn)在設(shè)置上需要注意:分辨率: 1024 Width x 1024 Height (or 更大)采樣步數(shù): 30采樣方法: DPM++ 2M Karras (or 其他 DPM++ 采樣器)分辨率SDXL是在1024 x 1024的圖像上訓(xùn)練的。雖然可以以512x512的分辨率生成圖像,但結(jié)果質(zhì)量較低,會(huì)出現(xiàn)變形。為了獲得最佳效果,應(yīng)該將高度和寬度都保持在1024。SDXL 1.0也支持超過1024的分辨率。這里有一些常見的分辨率,它們使用1024作為最小值,您可以嘗試:16:9(電影攝影)1820寬度x 1024高度 3:2(專業(yè)攝影)1536寬度x 1024高度 4:3(普通圖片)1365寬度x 1024高度 這里需要注意的是:您的寬高比“拉伸”越嚴(yán)重,出現(xiàn)變形和突變的可能性就越大。 采樣步數(shù)在之前基于SD 1.5微調(diào)的模型中一般采樣步數(shù)設(shè)置為20就能取得不錯(cuò)的圖片。但是在SDXL中,如果將采樣步數(shù)設(shè)置為20會(huì)給人一種圖片精細(xì)度不夠,給人一種并沒有畫完的感覺。因此可以將采樣步數(shù)適當(dāng)調(diào)大,這樣可以獲得更好的出圖質(zhì)量。當(dāng)然這就需要更好的顯卡和更大的現(xiàn)存。具體調(diào)多大,還是要根據(jù)你本地顯卡的算力才取舍。以下為使用30steps-60steps效果對(duì)比。采樣器采樣方法對(duì)SDXL 1.0來說比以前的版本更重要。建議使用任何DPM++采樣器,特別是帶有Karras采樣器的DPM++。比如DPM++ 2M Karras或DPM++ 2S a Karras。Prompt:Portrait photo of an anthropomorphic farmer cat holding a shovel in a garden vintage film photoNegative Prompt:anime, cartoon, graphic, text, painting, crayon, graphite, abstract, glitch, deformed, mutated, ugly, disfigured使用 SDXL Refiner 進(jìn)行圖生圖Refiner精煉模型用于增加更多細(xì)節(jié)并使圖像質(zhì)量更清晰。它最適用于逼真的生成。實(shí)際上,可以通過在WebUI中使用img2img功能和低去噪(低強(qiáng)度)來使用它。首先,應(yīng)該下載Refiner模型并將其放置在您的模型文件夾stable-diffusion-webui/models/Stable-Diffusion中。然后,像往常一樣使用SDXL 1.0基礎(chǔ)模型生成圖像。在圖像下方,點(diǎn)擊“發(fā)送到img2img”此時(shí)圖像已經(jīng)在img2img選項(xiàng)卡中打開。然后開始進(jìn)行以下更改:在Stable Diffusion模型下拉菜單中,選擇sd_xl_refiner_1.0.safetensors。 在“調(diào)整大小”部分,將寬度和高度更改為1024 x 1024(或您原始生成的尺寸)。 將重繪幅度調(diào)整為0.25(更高的重繪幅度會(huì)使refiner的效果更強(qiáng)。雖然這可以使圖像更清晰,但也會(huì)大大改變圖像的內(nèi)容)以下為使用不同重繪幅度生成的4張圖片,通過對(duì)比可以看出雖然0.75重繪幅度生成的圖片清晰度最高,但是和原始圖片相比較,已經(jīng)完全不是同一張圖了,因此具體的重繪幅度設(shè)置為多少比較合適,還需要根據(jù)你的目標(biāo)來設(shè)置。不是越高越好,并且太高的重繪幅度很多時(shí)候生成的圖片都會(huì)存在非常多不合理的地方,這會(huì)導(dǎo)致重繪后的圖片完全無法使用。Aesthetic Scores美學(xué)得分Aesthetic Score美學(xué)得分是 SDXL 模型附帶的一個(gè)新設(shè)置。這僅用于refiner精煉模型。SDXL的訓(xùn)練數(shù)據(jù)中每張圖像都有一個(gè)美學(xué)分?jǐn)?shù),0表示最丑,10表示最好看。通過設(shè)置您的 SDXL 高美學(xué)評(píng)分,您將提示偏向具有該美學(xué)評(píng)分的圖像(理論上提高您圖像的美學(xué))。在模型訓(xùn)練階段,模型的 U-Net “骨架”使用這些分?jǐn)?shù)作為額外的“調(diào)節(jié)指南”。這種指南嘗試弄清楚是什么讓一幅畫獲得高分,而什么不能。那么我們應(yīng)該如何理解Aesthetic Score美學(xué)得分呢?假設(shè)在訓(xùn)練期間,我們有很多質(zhì)量較差的圖,例如,在粗糙木材做的桌子上的紅蘋果。模型可能會(huì)開始將紅蘋果和粗糙木材桌子與“質(zhì)量差”的藝術(shù)聯(lián)系起來,僅僅因?yàn)橛羞@么多低質(zhì)量的例子。在這種情況下,一幅高分畫作也恰好以紅蘋果和粗糙木材做的桌子為特征,可能不會(huì)被充分捕捉到其特征,并且只產(chǎn)生質(zhì)量較差的紅蘋果。這就是美學(xué)分?jǐn)?shù)發(fā)揮作用的地方。因?yàn)樗恰拔谋厩度搿钡囊徊糠?,所以它被視為?biāo)題的一部分。模型在學(xué)習(xí)過程中“考慮”每幅畫作的美學(xué)評(píng)分,并在推理過程中使用給定評(píng)分來減少對(duì)低評(píng)分畫作特征的重視。這樣,輸出就不會(huì)過于偏向少數(shù)(甚至許多)“不好”的例子。因此,用于后續(xù)微調(diào)的數(shù)據(jù)集質(zhì)量并不像您預(yù)期的那樣影響 AI 創(chuàng)造美麗作品的能力。SDXL 低美學(xué)評(píng)分有點(diǎn)讓人令人困惑。它設(shè)置了負(fù)面提示詞的“偏見”。通常,希望這種偏見類似于具有低美學(xué)評(píng)分的圖像。因此這與高美學(xué)評(píng)分相反。此值越低,你的圖像看起來就越好,反之亦然。要更改美學(xué)評(píng)分,需要到“設(shè)置”選項(xiàng)卡-> SDXL 子選項(xiàng)卡中進(jìn)行設(shè)置。其中:SDXL low aesthetic score默認(rèn)值為2.5,SDXL high aesthetic score默認(rèn)值為6基于下面這張文生圖生成的圖片使用SDXL 1.0 refiner model將重繪幅度調(diào)整為0.5,然后使用四種不同的美學(xué)評(píng)分組合參數(shù)繪制出四張不同的圖片。Prompt:cinematic photo of a lady. 35mm photograph, film, bokeh, professional, 4k, highly detailedNegative Prompt:deformed, glitch, noise, noisy, off-center, deformed, cross-eyed, closed eyes, bad anatomy, ugly, disfigured, sloppy, duplicate, mutated, black and white很明顯,將低分設(shè)置為 0,將高分設(shè)置為 10 并不一定會(huì)產(chǎn)生最好的圖像。有點(diǎn)諷刺的是,結(jié)合“低質(zhì)量”圖像的粗糙度會(huì)使圖像看起來更好,更真實(shí)。不同的美學(xué)風(fēng)格將有最適合的不同美學(xué)評(píng)分。下面是一些不同風(fēng)格的推薦值?,F(xiàn)實(shí)主義/攝影:1 low score,5 high score(如上所示)傳統(tǒng)媒介繪畫:1 low score,8 high score 數(shù)字繪畫:4 low score,9 high score或者直接使用默認(rèn)的2.5 low score,6 high score也是不錯(cuò)的選擇。 自定義模型與Lora不同于SD1.5的基礎(chǔ)模型是用512x512的size訓(xùn)練的,SDXL 1.0的基礎(chǔ)模型都是使用1024x1024的size圖片訓(xùn)練得到的。因此這也就意味著之前基于SD1.5fine-tunes得到的模型和Lora全部都失效不能基于SDXL 1.0使用。目前C站release出來的基于SDXL 1.0微調(diào)得到的模型,只找到兩個(gè)。但是隨著時(shí)間的推移,未來基于SDXL 1.0基礎(chǔ)模型微調(diào)的模型和Lora一定會(huì)越來越多,效果也會(huì)越來越好,這就是開源社區(qū)的強(qiáng)大之處!可能遇到的問題URLError:
Repo already cloned, using it as install directory
################################################################
################################################################
Create and activate python venv
################################################################
################################################################
Launching launch.py...
################################################################
Python 3.10.6 (main, Oct 24 2022, 11:04:07) [Clang 12.0.0 ]
Version: v1.5.1
Commit hash: 68f336bd994bed5442ad95bad6b6ad5564a5409a
Launching Web UI with arguments: --skip-torch-cuda-test --medvram --no-half-vae
no module 'xformers'. Processing without...
no module 'xformers'. Processing without...
No module 'xformers'. Proceeding without it.
Warning: caught exception 'Torch not compiled with CUDA enabled', memory monitor disabled
dirname: /Users/block/code/sd/stable-diffusion-webui/localizations
localizations: {'zh_CN': '/Users/block/code/sd/stable-diffusion-webui/extensions/stable-diffusion-webui-localization-zh_CN/localizations/zh_CN.json', 'zh_TW': '/Users/block/code/sd/stable-diffusion-webui/extensions/stable-diffusion-webui-localization-zh_TW/localizations/zh_TW.json'}
2023-07-28 15:22:55,564 - ControlNet - INFO - ControlNet v1.1.233
ControlNet preprocessor location: /Users/block/code/sd/stable-diffusion-webui/extensions/sd-webui-controlnet/annotator/downloads
2023-07-28 15:22:55,608 - ControlNet - INFO - ControlNet v1.1.233
Loading weights [1f69731261] from /Users/block/code/sd/stable-diffusion-webui/models/Stable-diffusion/Stable Diffusion XL 0.9_base.safetensors
Running on local URL: http://127.0.0.1:7860
To create a public link, set `share=True` in `launch()`.
Startup time: 5.2s (launcher: 0.4s, import torch: 1.4s, import gradio: 0.5s, setup paths: 0.6s, other imports: 0.5s, load scripts: 0.6s, create ui: 0.6s, gradio launch: 0.4s).
Creating model from config: /Users/block/code/sd/stable-diffusion-webui/repositories/generative-models/configs/inference/sd_xl_base.yaml
Couldn't find VAE named vae-ft-mse-840000-ema-pruned.safetensors; using None instead
Applying attention optimization: InvokeAI... done.
Model loaded in 63.8s (load weights from disk: 1.1s, create model: 0.6s, apply weights to model: 27.8s, apply half(): 31.6s, hijack: 0.2s, load textual inversion embeddings: 0.2s, calculate empty prompt: 2.1s).
Downloading VAEApprox model to: /Users/block/code/sd/stable-diffusion-webui/models/VAE-approx/vaeapprox-sdxl.pt
*** Error completing request
*** Arguments: ('task(zxfewnh4tcmf35o)', 'best quality, masterpiece, ultra highresolution,(photorealistic:1.37).\n1girl, cute,slim, light blush,red\neyes,ponytail,long hair, dark\neyes,profile,(medium breasts),croptop, Gradient background,', '', [], 20, 0, False, False, 1, 1, 7, -1.0, -1.0, 0, 0, 0, False, 512, 512, False, 0.7, 2, 'Latent', 0, 0, 0, 0, '', '', [], 404 Not Found