我比较了 Kohya 和 OneTrainer 在 FLUX Dev 微调/DreamBooth 训练方面的表现

社区文章 发布于2025年3月31日

OneTrainer vs Kohya for FLUX Dev 训练

OneTrainer 可以使用 Text-Encoders 训练 FLUX Dev,而 Kohya 不能,所以我决定尝试一下。

不幸的是,开发者不想添加将训练好的 Clip L 或 T5 XXL 保存为 safetensors 或将它们合并到输出中的功能,所以基本上它们在没有大量额外努力的情况下是无用的。

OneTrainer interface screenshot

我仍然继续并测试了 EMA 训练。EMA 通常能显著提高 SD 1.5 训练的质量。对于 FLUX,我不得不使用 CPU 进行 EMA 训练,速度非常慢,但我还是想测试一下。

我尝试复制 Kohya 的配置。下面您将看到结果。遗憾的是,质量不尽如人意。需要进行更多研究,而且由于开发者决定不进行文本编码器训练,我看不到使用 OneTrainer 进行 FLUX 训练而不是使用 Kohya 的任何好处。

第一张图片:Kohya 最佳配置:https://www.patreon.com/posts/112099700 第二张图片:One Trainer Kohya 配置,EMA 每 1 步更新一次 第三张图片:One Trainer Kohya 配置,EMA 每 5 步更新一次 第四张图片:One Trainer Kohya 配置 第五张图片:One Trainer Kohya 配置,但时间步移位为 1 而不是 3.1582

我猜 OneTrainer 的时间步移位与 Kohya 的离散流移位不同。

可能我需要做更多的工作和测试,才能改进结果,但目前我看不到这样做的任何理由。如果 Clip 训练 + 将其合并到 safetensors 文件中可行,我就会继续追求。

这些不是精挑细选的结果,全部来自第一次测试网格。

Result image 1

Result image 2

Result image 3

Result image 4

Result image 5

Result image 6

Result image 7

Result image 8

Result image 9

Result image 10

Result image 11

结论

测试结果表明,OneTrainer 使用 EMA 无法达到 Kohya 在 FLUX 训练方面的质量。如果无法正确集成文本编码器训练并导出 safetensors,则使用 OneTrainer 用于此目的的好处有限。

关键问题

  • 文本编码器训练无法保存/合并结果
  • 时间步移位与 Kohya 的离散流移位实现不同
  • EMA 实现速度较慢(仅限 CPU)

社区

注册登录 发表评论