Getting Stepped On - Flux.dev

详情

模型描述

此 LoRA 使您能在 Flux.dev 中获得从下方视角、脚部清晰聚焦的效果。

训练图像包含了脚部的不同变体(赤脚、袜子、靴子、丝袜等),但由于 Flux 学习速度很快,且这些概念的数据集分布不均,因此只有赤脚和靴子的效果较为可靠。

主要触发词:POV stepped on

可能产生影响的附加标签(按出现频率排序):

  • barefoot

  • view straight up(如果视角基本为正下方而非倾斜角度)

  • large foot(当脚部占据图像大部分时添加)

  • dirty foot

  • heels / boots / socks / stockings(此处效果因情况而异)

建议 LoRA 权重:0.8 – 1.2

我对结果并不完全满意,但我认为发布出来总比让它在存储中腐烂更好。它有时会导致脚趾数量异常,甚至脚部变形。有时还会把左脚放在右腿上(反之亦然),而且它特别喜欢突出脚趾。因此,当你尝试生成丝袜、袜子等效果时,通常会得到不真实的紧贴织物(或根本看不到任何织物)。

在说明了这些缺陷之后,我们来谈谈

训练

数据集包含约 200 张图片,使用 Joycaption alpha two 自动生成描述,随后手动微调并添加上述标签。

总体而言,训练过程相当艰难。我总共训练了五到六个版本,测试了不同的参数和训练器。

起初我使用 OneTrainer,但很快改用了 Ostris 的 ai-toolkit。在那里我完成了多次完整训练,结果都不算差,但也不算好,于是我多次调整参数后重新开始,希望能获得更佳效果。

  • 我在中途将数据集规模从 30 张增加到 200 张,并添加了更详细的描述(这确实提升了输出的控制力与多样性)

  • 我将 rank 从 16 降低到 8 和 4(也尝试了不同的 alpha 值)

  • 尝试了不同的 batch size

但它们仍普遍存在类似问题(有时生成变形、控制不够精准等),最终我决定:我已经投入了足够多的时间,现在只能接受现有成果。

两个最佳候选版本基于最新数据集:Variant A(dim=4,alpha=8)和 Variant B(dim=16,alpha=16)。两者在不同生成结果上各有优势(例如 Variant A 生成变形的概率略低),但差异微乎其微。于是我尝试合并它们(或按不同 alpha 和 dim 进行加权连接),但结果反而下降或毫无改善。

因此,我最终选择以 SVD 方式合并,rank 设为 128,因为此前的实验(非本 LoRA)表明,这种合并方式能更好地保留基础模型的“真实信息”。这确实如预期般改善了变形问题。

训练设置(A | B):

  • Alpha, Dim:8, 4 | 16, 16

  • 总步数:9000

  • 描述丢弃率:0.05

  • 分辨率:512, 768, 1024

  • Batch Size:2 | 1

  • 噪声调度器:flowmatch

  • 学习率:2.5e-5

  • 线性时间步

  • 量化训练(启用梯度检查点)

在 RTX 4090 上,训练耗时约 14.5 小时(A)和 8.2 小时(B)。

训练完成后,将 safetensors 的键转换为与 Kohya 兼容的格式,进行 SVD 合并(如前所述,rank=128),然后将合并结果调整为 rank=32(使用 sv_fro,权重 0.985)——至少我记得是这样。

作为快速且略微相关的补充说明:我还尝试将同一数据集用于 SD3 训练。经过类似时长的训练后,只得到了变形严重的噩梦级结果,因此我立即终止了这项短暂的实验。

此模型生成的图像

未找到图像。