本篇文章的內容僅為個人實驗以及在各種訓練產生的結果上,總結出來的一些結論,並無法完全通用在各種情況。如果以下所提及的所有內容與結果與你有所雷同,那就雷同吧。
說在最前面的,這些訓練數據可能會因為演算法、優化器、排程器或是各種相關套件更新而失準。本次的實驗主要是要測試 Noise 對於整體訓練的差異,與可能可以怎麼選擇或是設定的紀錄。
Kohya GUI
本次所使用的 Kohya GUI 版本是 24.1.4,如果你不是這個版本,或者是你是直接使用 kohya-ss/sd-script v0.8.7 也可以。
我們在 Kohya 的進階設定中可以找到本篇文章所提到的各種設定,你可以參考我之前的文章 [Lora] Kohya_ss GUI
這個筆記是最近大概兩個多月來訓練的總結,是特別針對 SDXL 真實系列訓練的所有過程。包含訓練集圖片處理、提示詞、Kohya 參數調整,基本上可以算是一個稍微進階一點的懶人包。如果是第一次練 SDXL 真人系列的話,可以做為參考。
前言
本次訓練是使用 Kohya GUI 24.1.4 版本進行,你的版本沒有那麼新也沒關係。但是,由於本次訓練使用到了 --enable_wildcard 的功能,所以請確保你的 Kohya 裡面所使用的 sd-script 是 0.
這是一個我一直忘記也沒有拿出來講的事情,在 Kohya 訓練參數當中,所使用的 face_crop_aug_range 一直都有一個誤會。
其實單純設定他是沒有效果的。
face_crop_aug_range
這個參數在 Kohya-ss/sd-script 當中,其實是需要針對檔案名稱作特殊處理,這個參數才會生效。然後我之前的文章好像都沒特別提到這件事情。
根據原始碼 train_util.py#L1095,
face_cx = face_cy = face_w
說在最前面的,你需要先訓練出一個屬於你自己的人物的 Lora,畢竟拿別人的 Lora 來用可能會有版權的問題,所以盡可能的自己訓練一個會比較好。
關於減法的訓練我在 2023 年的 SD 年會中已經聊過,這邊就不贅述。
關於訓練的減法
如果沒有看過的人可以看一下,這篇文章會用到裡面說的一些方式。
事前準備
訓練的方式就不提了,總之就是準備一個你覺得訓練的不錯的一個人物的 Lora,然後選擇幾個你喜歡的模型。
* 準備好一個人物 Lora,或是多個(如果你有訓練多個的話)
* 基底模型,例如 9527 Detail Realistic XL
* 或是 SD1.