[Request] add display “discrete_flow_shift”, “timestep_sampling”

这个报错/请求出现在 kohya-ss/sd-scripts 的 Anima(anima_train_utils.py)训练启动日志中,用户希望能直接看到 timestep_sampling 与 discrete_flow_shift 这两个设置值。核心诉求是让 [Request] add disp

快速结论:这个报错/请求出现在 kohya-ss/sd-scripts 的 Anima(anima_train_utils.py)训练启动日志中,用户希望能直接看到 timestep_sampling 与 discrete_flow_shift 这两个设置值。核心诉求是让 [Request] add display "discrete_flow_shift", "timestep_sampling" 这类配置在日志中可见,从而判断 discrete_flow_shift 是否真正生效。优先排查方向是确认当前脚本版本是否已包含对应日志输出。

适用环境:Issue 中确认的是 kohya-ss/sd-scripts 的 Anima 训练路径(anima_train_utils.py、flux_train_utils.py),使用 PowerShell 或 Terminal 查看 logger INFO 输出。Issue 未提供操作系统、Python、CUDA、显卡或依赖版本信息。

最快修复方案:暂无确认的一步修复方案。这是功能请求而非现成报错修复;Issue 中维护者表示会在不指定额外选项时也输出相关日志,用户已在合并后确认理想,但明确说明“merge后的状态没有调试”,因此该输出是否在你当前版本可用,需要以实际安装版本为准。

注意事项:Issue 中用户要求的是“设置值显示”,不是“运行值记录”,也不包含 log 记录功能。维护者给出的示例里明确标注:当 timestep_sampling='flux_shift' 时,discrete_flow_shift 会被 IGNORED,只有 sigma 和 shift 会使用它。该行为来自 Issue 中的示例文本,具体是否在你所用版本生效需自行确认。

问题场景

用户在使用 kohya-ss/sd-scripts 进行 Anima 相关 LoRA 训练时,启动日志会打印参数分组、可训练参数量等信息,但没有显示 timestep_sampling 和 discrete_flow_shift 的当前设置值。由于部分 LoRA 学习 wiki 建议调整 discrete_flow_shift,而该设置只有在 timestep_sampling 匹配时才起作用,用户难以判断自己是否真正启用了该参数,因此提出在启动日志中增加这两项显示。

报错原文

[Request] add display "discrete_flow_shift", "timestep_sampling"

原因分析

可能原因:这不是程序崩溃类报错,而是日志可见性不足。Anima 训练在 anima_train_utils.py 启动阶段会打印 Parameter groups 与 Total trainable parameters,但没有默认输出 timestep 采样相关配置。参考 flux 侧 flux_train_utils.py 的行为,discrete_flow_shift 并非在所有 timestep_sampling 模式下都生效,因此当用户只设置了 discrete_flow_shift 却未确认 timestep_sampling 时,很可能误以为该参数已生效。

环境排查

  • 确认当前使用的 sd-scripts 版本是否已合并该日志输出改动(Issue 在 2026-06-14 关闭)。
  • 确认训练脚本是 Anima 路径,即日志来源包含 anima_train_utils.py。
  • 确认查看日志的方式为 PowerShell、Terminal 等标准输出,而不是仅查看外部 log 记录文件。
  • 确认启动命令中 timestep_sampling 的实际取值(如 sigma、shift、flux_shift),以判断 discrete_flow_shift 是否会被应用。
  • Issue 未提供 Python、PyTorch、CUDA、显卡型号,无法据此进一步核对。

解决步骤

  1. 先更新或确认 sd-scripts 到包含该显示改动的版本;这是 Issue 中维护者确认已计划的处理方式。
  2. 正常启动 Anima 训练,不需要追加额外命令或选项,观察启动阶段的 logger INFO 输出。
  3. 在日志中查找形如下面的 Timestep sampling 行,确认 timestep_sampling 与 discrete_flow_shift 是否同时出现:
    INFO Timestep sampling: timestep_sampling=shift, discrete_flow_shift=3.0 (applied), sigmoid_scale=1.0
  4. 如果看到类似 timestep_sampling=flux_shift 且 discrete_flow_shift=3.0 (IGNORED for timestep_sampling='flux_shift'; only 'sigma' and 'shift' use it) 的输出,说明当前模式下 discrete_flow_shift 不会生效,需要调整 timestep_sampling。
  5. 如果当前版本没有任何相关输出,可优先尝试更新 sd-scripts 到较新版本;若仍无输出,则该改动可能尚未进入你所用分支或 GUI。

验证方法

重新启动一次 Anima 训练,训练开始阶段的 logger INFO 中应出现 Timestep sampling 相关行,并且能直接读到 timestep_sampling=...、discrete_flow_shift=... 以及是否 applied 或 IGNORED。若能看到这些字段,即可确认配置是否真正参与本次训练。

参考来源

kohya-ss/sd-scripts #2383

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 25403

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注