SD3.5 目前的表現應該可以算是擺脫 SD3 的慘狀。訓練器也陸續的出現,甚至 TensorArt 上面也已經放上訓練器了。這邊就快速的帶大家看一下目前使用 Kohya 訓練的結果。
說在最前面的,這些訓練數據可能會因為演算法、優化器、排程器或是各種相關套件更新而失準。本次的實驗主要是要測試 Noise 對於整體訓練的差異,與可能可以怎麼選擇或是設定的紀錄。
Kohya GUI
本次所使用的 Kohya GUI 版本是 24.1.4,如果你不是這個版本,或者是你是直接使用 kohya-ss/sd-script v0.8.7 也可以。
我們在 Kohya 的進階設定中可以找到本篇文章所提到的各種設定,你可以參考我之前的文章 [Lora] Kohya_ss GUI
這是一個我一直忘記也沒有拿出來講的事情,在 Kohya 訓練參數當中,所使用的 face_crop_aug_range 一直都有一個誤會。
其實單純設定他是沒有效果的。
face_crop_aug_range
這個參數在 Kohya-ss/sd-script 當中,其實是需要針對檔案名稱作特殊處理,這個參數才會生效。然後我之前的文章好像都沒特別提到這件事情。
根據原始碼 train_util.py#L1095,
face_cx = face_cy = face_w
這是我目前訓練 Lora 的流程概念筆記,訓練的過程其實大概就煮飯一樣,現在電子鍋很方便,就跟訓練器一樣,只是準備不周的話,飯會不會熟就是另一回事了。
訓練資料集
首先你需要明確的知道你想要訓練的「目標」是什麼,這樣才能準備資料。無論你訓練的目標是什麼,盡量多元的資料集是必須的。
1. 如果只訓練一個概念( Concept ),那麼請盡量刪除或抹去與這個概念會產生衝突的資料。
2. 訓練多個概念,可以透過特定的標籤( Tag )來解決,這樣會需要更多的訓練時間。
3. 如果你使用 ARB ( Aspect Ratio Bucket) 的訓練方式,可以不裁切資料集圖片(