AI 繪畫基礎 - 細數 Stable Diffusion 中的各種常用模型 【? 魔導士裝備圖鑑】

嘿嘿不務正業發表於2023-05-10

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 時左上角切換的就是主模型了。

picture 1

LoRA 和 LyCORIS

LoRA 是除了主模型外最常用的模型。LoRA 和 LyCORIS 都屬於微調模型,一般用於控制畫風、控制生成的角色、控制角色的姿勢等等。

LoRA 和 LyCORIS 的字尾均為 .safetensors,體積較主模型要小得多,一般在 4M - 300M 之間。一般使用 LoRA 模型較多,而 LyCORIS 與 LoRA 相比可調節範圍更大,但是需要額外的擴充套件才可使用。需要管理模型時我們可以進入 WebUI 目錄下的 models/LoRA 目錄下。

在 WebUI 中使用時,可透過點選左側的小紅燈,然後在 LoRA 選單中點選使用。也可以直接使用 Prompt 呼叫。

picture 2

Textual Inversion

Textual Inversion 是文字編碼器模型,用於改變文字向量。可以將其理解為一組 Prompt。

Textual Inversion 字尾為 .pt 或者 .safetensors,體積非常小,一般只有幾 kb。模型所在的目錄不在 models 下,而是在 WebUI 中的 embeddings 目錄下。

在使用時同樣可以使用小紅燈中的 Textual Inversion,也可以使用 Prompt 呼叫。

picture 1

Hypernetworks

Hypernetworks 模型用於調整模型神經網路權重,進行風格的微調。

Hypernetworks 的字尾為 .pt 或者 .safetensors,體積一般在 20M - 200M 之間。模型的目錄為 WebUI 下的 models/hypernetworks

在使用時同樣可以使用小紅燈中的 Hypernetworks。

picture 2

ControlNet

ControlNet 是一個及其強大的控制模型,它可以做到畫面控制、動作控制、色深控制、色彩控制等等。使用時需要安裝相應的擴充套件才可。

ControlNet 類模型的字尾為 .safetensors。模型的目錄為 models/ControlNet

使用時我們需要先去 Extensions 頁面搜尋 ControlNet 擴充套件,然後 Install 並 Reload UI。然後便可以在 txt2img 和 img2img 選單下找到:

picture 3

ControlNet 功能非常強大,還解決 AI 畫手的噩夢問題。

VAE

VAE 模型一般用於圖片亮度和飽和度的修正、畫面較正和以及補光等。一般在繪圖時如果出現圖片亮度過低、發灰等問題時就需要用到。

VAE 模型的字尾為 .pt 或 .safetensors,體積一般為 335M 或 823M。模型的目錄為 models/VAE

使用時需要到 Settings 頁面找到 SD VAE 選單切換。

picture 4

但是這樣使用過於繁瑣,所以如果使用到建議在 Quicksettings list 配置中新增 sd_vae。

picture 5

這樣就可以在 WebUI 的頂部進行切換。

picture 6

CodeFormer

CodeFormer 模型一般用於圖片的修復,比如提高圖片的解析度、將黑白照片修改成彩色照片、人臉修復等等。

CodeFormer 是一個開源專案,在 WebUI 中已經預設被整合,可以在 Extras 選單中使用。如果需要修改 CodeFormer 版本可以將模型放到 models/codeformer

picture 7

一覽表

模型名稱 作用 字尾名 大小 在 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 中所有的模型,其它的一些模型如果有空再整理下。

相關文章