AI 繪畫新手魔導士在剛開始玩 Stable Diffusion 時總會遇到各種新的概念,讓人困惑,其中就包括各種模型和他們之間的關係。
魔法師入門得先認識各種法師裝備(各種模型),讓我們遇到問題知道使用何種裝備來協助自己發揮更大的效果。
safetensors
在瞭解各種模型之前,有必須先了解下 safetensors,玩過的應該都認識,就是很多模型的字尾。然而各種模型的字尾五花八門,但是總是能看到 safetensors 的影子,讓人有些繚亂。
其實主要是因為 safetensors 支援各種 AI 模型,而在 safetensors 出現前,各種 AI 模型都有著自己獨特的字尾。這就導致每種模型既可以使用 safetensors 又可以使用自己原有的字尾,所以入門的時候就會讓人有點分不清。
其實 safetensors 是由 huggingface 研發的一種開源的模型格式,它有幾種優勢:
- 足夠安全,可以防止 DOS 攻擊
- 載入迅速
- 支援懶載入
- 通用性強
所以現在大部分的開源模型都會提供 safetensors 格式。
開源地址: https://github.com/huggingface/safetensors
模型分類
說完了 safetensors 我們進入正題,聊一聊在 Stable Diffusion 中常見的各種模型。
Checkpoint | Stable Diffusion
Checkpoint 是 Stable Diffusion 中最重要的模型,也是主模型,幾乎所有的操作都要依託於主模型進行。而所有的主模型都是基於 Stable Diffusion 模型訓練而來,所以有時會被稱為 Stable Diffusion 模型。
主模型字尾一般為 .ckpt 或者 .safetensors,並且體積比較龐大,一般在 2G - 7G 之間。而要管理模型我們需要進入 WebUI 目錄下的 models/Stable-diffusion
目錄下。
在使用 WebUI 時左上角切換的就是主模型了。
LoRA 和 LyCORIS
LoRA 是除了主模型外最常用的模型。LoRA 和 LyCORIS 都屬於微調模型,一般用於控制畫風、控制生成的角色、控制角色的姿勢等等。
LoRA 和 LyCORIS 的字尾均為 .safetensors,體積較主模型要小得多,一般在 4M - 300M 之間。一般使用 LoRA 模型較多,而 LyCORIS 與 LoRA 相比可調節範圍更大,但是需要額外的擴充套件才可使用。需要管理模型時我們可以進入 WebUI 目錄下的 models/LoRA
目錄下。
在 WebUI 中使用時,可透過點選左側的小紅燈,然後在 LoRA 選單中點選使用。也可以直接使用 Prompt 呼叫。
Textual Inversion
Textual Inversion 是文字編碼器模型,用於改變文字向量。可以將其理解為一組 Prompt。
Textual Inversion 字尾為 .pt 或者 .safetensors,體積非常小,一般只有幾 kb。模型所在的目錄不在 models
下,而是在 WebUI 中的 embeddings
目錄下。
在使用時同樣可以使用小紅燈中的 Textual Inversion,也可以使用 Prompt 呼叫。
Hypernetworks
Hypernetworks 模型用於調整模型神經網路權重,進行風格的微調。
Hypernetworks 的字尾為 .pt 或者 .safetensors,體積一般在 20M - 200M 之間。模型的目錄為 WebUI 下的 models/hypernetworks
。
在使用時同樣可以使用小紅燈中的 Hypernetworks。
ControlNet
ControlNet 是一個及其強大的控制模型,它可以做到畫面控制、動作控制、色深控制、色彩控制等等。使用時需要安裝相應的擴充套件才可。
ControlNet 類模型的字尾為 .safetensors。模型的目錄為 models/ControlNet
。
使用時我們需要先去 Extensions 頁面搜尋 ControlNet 擴充套件,然後 Install 並 Reload UI。然後便可以在 txt2img 和 img2img 選單下找到:
ControlNet 功能非常強大,還解決 AI 畫手的噩夢問題。
VAE
VAE 模型一般用於圖片亮度和飽和度的修正、畫面較正和以及補光等。一般在繪圖時如果出現圖片亮度過低、發灰等問題時就需要用到。
VAE 模型的字尾為 .pt 或 .safetensors,體積一般為 335M 或 823M。模型的目錄為 models/VAE
。
使用時需要到 Settings 頁面找到 SD VAE 選單切換。
但是這樣使用過於繁瑣,所以如果使用到建議在 Quicksettings list 配置中新增 sd_vae。
這樣就可以在 WebUI 的頂部進行切換。
CodeFormer
CodeFormer 模型一般用於圖片的修復,比如提高圖片的解析度、將黑白照片修改成彩色照片、人臉修復等等。
CodeFormer 是一個開源專案,在 WebUI 中已經預設被整合,可以在 Extras 選單中使用。如果需要修改 CodeFormer 版本可以將模型放到 models/codeformer
一覽表
模型名稱 | 作用 | 字尾名 | 大小 | 在 WebUI 中的資料夾 |
---|---|---|---|---|
Checkpoint | 主模型 | .ckpt 或 .safetensors | 2G - 7G | models/Stable-diffusion |
LoRA 和 LyCORIS | 微調模型,一般用於控制畫風、控制生成的角色、控制角色的姿勢等等 | .safetensors | 2G - 7G | models/Stable-diffusion |
Textual Inversion | 文字編碼器模型 | .pt 或 .safetensors | KB 級別 | embeddings |
Hypernetworks | 調整模型神經網路權重,進行風格的微調 | .pt 或 .safetensors | 20M - 200M | models/hypernetworks |
ControlNet | 強大的控制模型,可以進行畫面控制、動作控制、色深控制、色彩控制等等 | .safetensors | KB 級別 | models/ControlNet |
VAE | 圖片亮度和飽和度的修正、畫面較正和以及補光等 | .pt 或 .safetensors | 335M 或 823M | models/VAE |
CodeFormer | 修復模型,修復人臉、提高解析度等 | - | - | models/codeformer |
最後
上面幾種模型就是 Stable Diffusion 中最常用的幾種,透過 Checkpoint 控制圖片的主要風格;透過 VAE 給圖片補光、調亮;透過 LoRA | LyCORIS 對模型進行風格、角色控制;透過 Textual Inversion 簡化 Prompt;透過 ControlNet 進行姿勢、色彩控制,修復手部。
不過這並不是 Stable Diffusion 中所有的模型,其它的一些模型如果有空再整理下。