-
Notifications
You must be signed in to change notification settings - Fork 58
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
refactor: rename noise => predicted_noise #203
Conversation
366977c
to
bb380a7
Compare
A propos For me, |
and noise => predicted_noise is ok for me |
bb380a7
to
461a2cd
Compare
Yeah that makes sense. I think just calling it I was suspicious that labeling it "denoised" contributed to the bug of it being returned in the final step. I'm also suspicious that a similar bug exists in the other schedulers but I haven't investigated enough yet. These changes were in the context of a not-finished pull request where I make the following change in ddim (and was looking to see if similar changes applied in the other schedulers): if step == self.num_inference_steps - 1:
noise_factor = 0 to if step == self.num_inference_steps - 1:
return predicted_x |
As far as I understand it the additional noise term is not really a "bug", at least not in refiners, it's a discrepancy with the original implementation of SD (CompVis) which we used as a reference. See the documentation of the Regarding other schedulers, the ability to use a 1st order update for the last step in DPM(++) solver that I added last week is somehow similar. It will remove the same kind of noise which is visible especially if you use SDXL with few timesteps. For now we decided against making it the default. |
src/refiners/foundationals/latent_diffusion/schedulers/euler.py
Outdated
Show resolved
Hide resolved
d913cba
to
d52cfc8
Compare
I have reduced the scope of this pull request to just |
@catwell thanks for the context - that makes sense |
We've discussed a few changes here and I'm happy to do all or none of them. Let me know what is desired to get this closed out. |
How about this:
@brycedrennan does that work for you? Many thanks! |
and in euler, `alt_noise` can now be simply `noise`
d52cfc8
to
d5f0b14
Compare
sounds good - done |
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.
Thanks!
noise => predicted_noise
denoised_x => renoised_x (denoised seems inaccurate since it does have noise added)