-
Notifications
You must be signed in to change notification settings - Fork 6k
Allow configuring shift=
for SD3 dynamically
#8501
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Hi, you can do it like this: from diffusers import FlowMatchEulerDiscreteScheduler
pipe.scheduler = FlowMatchEulerDiscreteScheduler.from_config(pipe.scheduler.config, shift=3.0) |
yep! but the same format is applicable for timesteps and was wondering if we can get around without re-instating the scheduler again and again? |
Not for the moment, but I can see the potential in adding it as an argument if people change it a lot for each inference. In my experience it didn't fix the anatomy problems and sometimes it made the quality worse but I tested it with the T5, still need to test it without it and do some more generations. Can you share some examples where changing the shift helped with the generation? That would help a lot. |
This issue has been automatically marked as stale because it has not had recent activity. If you think this still needs to be addressed please comment on this thread. Please note that issues that do not follow the contributing guidelines are likely to be ignored. |
This issue has been automatically marked as stale because it has not had recent activity. If you think this still needs to be addressed please comment on this thread. Please note that issues that do not follow the contributing guidelines are likely to be ignored. |
Useful to have, changing |
does it really help though? examples requested never were shared. |
Documented benefit for HunyuanVideo.
I'll run some tests for SD3/Flux to confirm. |
but SD3 already has resolution-dependent shift using the |
Actually this won't do anything for Flux because of dynamic shifting. We recently added support for dynamic shifting in SD3, it's not used by default though. Either way, it's a simple change that has at least some benefit to HunyuanVideo and it won't do any harm to add a function to change |
well not to be argumentative but the schedulers are stateful, yes? doesn't this mean recreating it has to be done anyway? |
Is your feature request related to a problem? Please describe.
Allow passing
shift=
per inference call (like timesteps) on the pipeline, for flow matching scheduler, or allowset_shift()
etc. on the scheduler. This seems to be the key to getting good results with SD3 https://x.com/bfitzgerald242/status/1801018438120341911The text was updated successfully, but these errors were encountered: