-
Notifications
You must be signed in to change notification settings - Fork 6.5k
0.5.1 k schedulers #944
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
0.5.1 k schedulers #944
Conversation
|
The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. |
|
Thanks a lot @tonetechnician for your work! |
|
Thanks for checking it out @andrea-gatto There does seem to be a difference between 0.3.0 and 0.4.0 as mentioned here #902 which could be related to what you're experiencing. That being said, you should be getting the same output as me with my PR branch, so something is off. I'll dig in a bit more and see what that might be. Would you be able to post your output for reference? Thanks! |
|
Thanks @tonetechnician for the heads up |
|
Thanks for reference to images and code @andrea-gatto. Sorry, I should've posted my scheduler settings: Might be that the scheduler is defaulting to linear in yours? |
|
thanks a lot @tonetechnician |
|
Great work @tonetechnician . One thing I noticed that this takes little more memory than the main branch. I was getting CUDA memory error on a 8gb card. Worked fine on more memory card. |
patil-suraj
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Amazing work @tonetechnician ! I would suggest to split this PR into two.
- for euler schedulers
- for DPM and Heun
The euler schedulers are already working great and would be awesome to have them merged soon! Then we can start discussing the design for DPM & Heun in other PR to so this won't get blocked by it.
|
Hey @tonetechnician , let us know if we could help in any way, would be cool to have the euler schedulers merged soon! |
|
Hey @patil-suraj All good for the meanwhile, just had some backlog work that prevented me from splitting this out. Should be able to do so today and make a PR |
|
No worries ! And awesome, looking forward to it, this is going to be really nice addition! |
|
Thank you @hlky will take a look soon :) |
|
Solved here --> #1019 |
|
Should we open a new PR for the 2nd order schedulers? We're still definitely be interested in adding those if you'd like :-) |
|
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. |
|
I think all the 2nd order schedulers have now been added. Thanks a mille for you first draft here @tonetechnician - it has been super useful to get the other schedulers correctly added. |
|
Great work everyone! SO EPIC to see this + 2.0 + depth2img. Unfortunately been MIA on another project that has taken my attention for the last few weeks but back in today :) Pulled latest changes and was happy to see the second order samplers! Thanks @patrickvonplaten for the mention! But great work to everyone for getting this in, so good :) Look forward to checking them all out. Feel free to close this PR @patrickvonplaten :) |
* Revert "[SD] Modify the flags to use --iree-preprocessing-pass-pipeline (huggingface#914)" This reverts commit a783c08. * Revert "Fix iree flags due to the change in shark-runtime (huggingface#944)" This reverts commit 1d38d49.













@patil-suraj This PR is related to conversions that have been happening for this PR #636.
It ports @hlky's implementation of k-diffusion schedulers up to 0.5.1 of diffusers.
Currently the output is working for txt2img pipeline (although not matching results from k-diffusion output), but there are still issues with img2img pipeline output which I'm resolving and some of that can be followed in this issue report #901.
Also some further work needs to be done for DPM2 and Heun solvers which are meant to accept the model and use that to determine the next sample step https://github.com/crowsonkb/k-diffusion/blob/master/k_diffusion/sampling.py#L114. I believe @hlky implemented an approximation of this which is why we currently do get reasonable output.
I have some code that I'm wanting to push up soon that allows the model to passed to the step scheduler, but still solving some issues there.