— 如何正确准备图像·标题结构

当第一次开始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) 标题可以完全不写吗?

  • 明确的答案:必须写

  • 原因:必须让模型知道要学习的概念是什么

  • 但是,虽然在某个例子中看到过“只给类标记,而没有句子标题”的微调结构,但根据经验,加入标题效果更好。


✔ 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) 图片与不必要的情感/情绪不符

有时在图片较多时,复制+粘贴时将表情描述写错会导致失败!!
在正确完成数据集后,至少检查2次以上对精神健康有好处。

(实际上在微笑时,如果有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等设置就 显得没有那么重要。