You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Since #14011 (merged 2026-07-07, not yet in any release — v0.39.0 predates it), FlowMatchEulerDiscreteScheduler.set_timesteps unconditionally recomputes timesteps from the shifted sigmas (scheduling_flow_match_euler_discrete.py#L367), so an explicitly passed custom timesteps list is silently discarded. The docstring still promises "Custom values for timesteps to be used for each diffusion step" (L305-L307), and FlowMatchLCMScheduler still honors the argument (scheduling_flow_match_lcm.py#L376-L379), so the two flow-match schedulers now disagree on the same argument.
Concrete impact inside the library: CogView4 / CogView4-Control / GLM-Image deliberately pass integer-cast timesteps plus paired sigmas (pipeline_cogview4.py#L587-L606 — a mechanism the model authors added in #10649) and feed scheduler.timesteps to the transformer as conditioning. With the official CogView4-6B scheduler config at 1024x1024, the conditioning timesteps now deviate from the passed values by up to 285.75 / 1000 (repro below). The #14011 discussion covered the SD3/Flux pattern (deriving timesteps when only sigmas are given) and did not mention these pipelines.
Question for the maintainers: is discarding explicit timesteps the intended new semantics after #14011?
If intended: the docstring, the now-dead is_timesteps_provided variable (L329), FlowMatchLCMScheduler, and the now-ineffective integer-cast in the CogView4/GLM-Image pipelines should be aligned — I'm happy to submit that PR.
If not intended: restoring the explicit-timesteps branch (while keeping fix rf time scheduler problem #14011's recomputation for the derived case) before v0.40 ships would avoid releasing a silent behavior change — I'm happy to submit that PR instead; a minimal fix plus regression test is already prepared on my fork.
Using distributed or parallel set-up in script?: No
Who can help?
No response
Disclosure: this report was prepared with AI assistance following the "AI-assisted and agentic contributions" guide; I reproduced the issue locally at 614ae4b and reviewed every claim. Per the guide, I'm coordinating here first and will wait for maintainer acknowledgment before opening any PR.
Describe the bug
Since #14011 (merged 2026-07-07, not yet in any release — v0.39.0 predates it),
FlowMatchEulerDiscreteScheduler.set_timestepsunconditionally recomputes timesteps from the shifted sigmas (scheduling_flow_match_euler_discrete.py#L367), so an explicitly passed customtimestepslist is silently discarded. The docstring still promises "Custom values for timesteps to be used for each diffusion step" (L305-L307), andFlowMatchLCMSchedulerstill honors the argument (scheduling_flow_match_lcm.py#L376-L379), so the two flow-match schedulers now disagree on the same argument.Concrete impact inside the library: CogView4 / CogView4-Control / GLM-Image deliberately pass integer-cast timesteps plus paired sigmas (
pipeline_cogview4.py#L587-L606— a mechanism the model authors added in #10649) and feedscheduler.timestepsto the transformer as conditioning. With the official CogView4-6B scheduler config at 1024x1024, the conditioning timesteps now deviate from the passed values by up to 285.75 / 1000 (repro below). The #14011 discussion covered the SD3/Flux pattern (deriving timesteps when only sigmas are given) and did not mention these pipelines.Question for the maintainers: is discarding explicit
timestepsthe intended new semantics after #14011?is_timesteps_providedvariable (L329),FlowMatchLCMScheduler, and the now-ineffective integer-cast in the CogView4/GLM-Image pipelines should be aligned — I'm happy to submit that PR.timestepsbranch (while keeping fix rf time scheduler problem #14011's recomputation for the derived case) before v0.40 ships would avoid releasing a silent behavior change — I'm happy to submit that PR instead; a minimal fix plus regression test is already prepared on my fork.Reproduction
Repro 1 — exactly what
pipeline_cogview4.pypasses (CogView4-6B config, 1024x1024, 10 steps):Output on
main(614ae4b):Before #14011 (all releases through v0.39.0), the output equals the passed values.
Repro 2 — divergence from FlowMatchLCMScheduler (same inputs, static shift=3.0)
(Both produce identical
sigmas; onlytimestepsdiverge.)Logs
System Info
Who can help?
No response
Disclosure: this report was prepared with AI assistance following the "AI-assisted and agentic contributions" guide; I reproduced the issue locally at 614ae4b and reviewed every claim. Per the guide, I'm coordinating here first and will wait for maintainer acknowledgment before opening any PR.