— 如何正確準備圖片·標題結構

當你第一次開始進行 LoRA 微調時,任何人都可能首先關注模型、rank、學習率 (learning_rate) 等 訓練選項
但實際上數據集決定了 80%
使用好的數據進行訓練可以彌補很多設置的錯誤,但壞的數據則無法用任何設置來恢復質量。

特別是最近的 Flux 系列模型是「非常誠實地反映數據的模型」,所以它受數據集質量的影響更大。

這篇文章將實用性地整理在進行 LoRA 微調時如何準備圖片如何構建標題以及data.toml 的設置與數據集結構之間的關係

lora 數據集圖片


1. 為什麼數據集在 LoRA 微調中是最重要的?



LoRA 的方法不是改變基本模型的巨量參數,而是
添加強化特定概念的「記憶補丁」

也就是說,LoRA 主要學習以下兩點:

  1. 圖片之間的共通點

  2. 標題中明確的核心概念

因此,只要數據集稍有紊亂,就會出現以下現象:

  • 臉部輪廓不穩定

  • LoRA scale=0.5 以上才勉強能應用風格

  • 與現有模型的特徵混合,得出「這也不是,那也不是」的結果

  • 特定姿勢/表情過度強化

  • 色調偏差嚴重

所有這些問題的根本原因就是數據的一致性缺乏


2. 圖片準備的基本規則

遵循這些將會成功一半。由於微調時需要花費相當多的時間,因此最好在一次性準備好數據。

✔ 2-1) 圖片解析度最好進行正規化

基於 Flux 的模型對於解析度似乎不太敏感,但在微調時會出現以下問題:

  • 512×768

  • 1024×1536

  • 800×800

  • 1536×768

如果大小各不相同,對模型來說,「重要區域」可能會變得模糊或位置看起來不一致。

推薦規格:

  • 768×1152

  • 768×1024

  • 1024×1024

  • 或根據希望的最終圖片比例統一為一種規格

重要的是比率和大小的一致性


✔ 2-2) 數據集並非越多越好,而是越均質越好



錯誤的例子:

  • 自拍 10 張 + 全身照 5 張 + 黑暗環境照片 3 張 + 4K 高畫質照片 2 張 + 卡通風格圖片 5 張

→ 模型對學習內容感到困惑。

好的例子:

  • 同樣的相機距離

  • 相同的光源

  • 聚焦於臉部/上半身等 概念明確

  • 風格(寫實/動畫/插畫等)統一


✔ 2-3) “只放進好的照片”是最重要的原則

這一點在多次實驗 Flux LoRA 的過程中會更為深切感受到。

常見的錯誤:

「數據不夠,那就隨便放進這個吧。總會有幫助的。」

不。

那個“什麼”會毀掉 LoRA。
一張模糊的圖片會導致訓練失誤的情況非常多。

可以肯定的說:

10 張好照片 > 40 張雜亂無章的照片


✔ 2-4) 根據想要製作 LoRA 的目的決定圖片構成

例如:

1) 特定人物再現 LoRA

  • 以臉部特寫為主

  • 相同光源

  • 正面 + 稍微的側面

  • 通常不包含全身照會更穩定

2) 特定時尚風格再現 LoRA

  • 相同服裝組合

  • 顏色和質感的強調圖片

  • 可包含全身照/下半身照

  • 不同姿勢反而會有幫助

3) 特定插畫風格 LoRA

  • 包括背景

  • 能突出筆刷質感的圖片

  • 需要直接定義風格的核心要素(筆觸厚度、饱和度、明暗等)


3. 標題撰寫:決定 LoRA 質量的第二個關鍵

標題在圖片本身的重要性僅次於它。

Flux 非常好地跟隨標題的「文本信號」,因此,
僅對標題的構成進行仔細的處理也能大幅改變 LoRA 的質量。


✔ 3-1) 如何撰寫標題?

答案如下兩種之一:

A. 最小關鍵詞標籤基礎方式

a japanese woman, long hair, smiling, outdoor, daylight
  • 簡單且穩定

  • 對寫實風格強

  • LoRA 容易收斂

B. 句型描述方式

A Japanese woman with long black hair smiles softly in natural daylight, wearing a white knit sweater.
  • 在 Flux 或 SDXL 系列中能促進更自然的學習

  • 適合風格 LoRA 或人物 LoRA

對於第一次嘗試的初學者,建議使用A 方式,但擅長寫作的人可嘗試B 方式。根據經驗來看,B 方式似乎會更有效。

注意事項:使用句型時,請在 data.toml 中設置 keep_tokens = 0, shuffle_caption = false


✔ 3-2) 標題可以不寫嗎?

  • 確定的答案:必須寫

  • 原因:必須告訴模型應該學習什麼概念

  • 不過曾在 NVIDIA 的文檔中見過「只給每個類別標記,而不寫句子標題的結構」的微調例子,但根據經驗來看,加入標題的效果會更好。


✔ 3-3) class_tokens vs txt 標題的優先順序

重要的實戰信息:

有 txt 標題 → 優先使用 txt。

class_tokens 的角色較為輔助。

也就是說,如果同一張圖片同時有以下兩個:

class_tokens = "leona_empire asian woman"
caption.txt = "a japanese woman in winter knit"

→ 模型會更側重於 caption.txt 的內容。

整理:

  • caption.txt 是關鍵

  • class_tokens 可以視為「整體概念的基本基礎」


4. 數據集目錄結構示例

基於 Flux 系列 LoRA 的整潔示例:

dataset/
 └── concept1/
      ├── 00001.png
      ├── 00001.txt
      ├── 00002.png
      ├── 00002.txt
      ├── 00003.png
      ├── 00003.txt
      └── ...

.txt 文件規則:

  • 文件名必須相同

  • 推薦使用 UTF-8 編碼

  • 一行編寫(禁止不必要的換行)


5. LoRA 的常見標題錯誤

1) 過多的修飾語

beautiful gorgeous extremely lovely asian woman with super long silky hair

模型會過度關注特定屬性。

2) 每張照片的風格描述不一致

  • 有一張是「電影光照」

  • 另一張是「明亮的柔光」
    → 混淆度 100%

3) 照片與不必要的情感·情緒不符

有時候在複製 + 粘貼多張照片時,如果出現與照片不同的表情描述就會毀掉!!
在完成數據集後至少要檢查兩次,這對心理健康很重要。

(實際上即使在笑著,如果有 sad、melancholy 這樣的文本,表情也會改變)


6. 數據數量:多少張最為有效?

根據經驗 Flux LoRA 的標準:

數據數量 結果質量
5–10張 不穩定(起伏最大)
15–25張 最有效
30–50張 最高質量(僅在 _一致性數據_ 時有效)
60張以上 意義不大。重複信息增多
  • 比起增加數據,「去除差的圖片」更能提升質量。

  • 我個人最初使用過 40 張,但之後通常會在 10~20 張之間組建數據集


7. 第一輪 → 第二輪微調時的數據集處理

這裡最常見的問題是:

「需要包含舊的圖片嗎?」

答案:
是的。必須按照一定比例包含。

原因:
模型不是 LoRA 而是「記憶補丁」,如果不再顯示舊概念就會忘記。

建議比例:

  • 舊數據 50%

  • 新數據 50%

這樣就能做到「記憶保持 + 新風格反映」最為穩定。


8. 結論:只要準備好數據集,LoRA 的 70% 就完成了

隨著多次微調的經驗,我感受到的只有一點。

最終 LoRA 的質量取決於數據集。

  • 解析度

  • 比率

  • 光源

  • 圖片一致性

  • 標題準確性

  • 去除劣質圖片

  • data.toml 與數據集結構的對應

只要把這 7 點做好,
rank、learning_rate 等設置就會變得 相對不那麼重要。