hafriedlander / stable-diffusion-grpcserver

An implementation of a server for the Stability AI Stable Diffusion API
Apache License 2.0
172 stars 23 forks source link

DPM2, 2A, HUEN schedulers (at least) are "wrong" #10

Closed hafriedlander closed 2 years ago

hafriedlander commented 2 years ago

These schedulers need to do multiple steps during a single iteration of the UNet. But the standard Diffusers pipeline doesn't support that.

Since we have a customised pipeline we could add it, but I don't know enough about how these schedulers work to make them work with that change, and the original author is busy.

parlance-zz commented 2 years ago

Thanks! :)

keturn commented 2 years ago

Someone's started work on such a pipeline at https://github.com/huggingface/diffusers/issues/854

Personally, I'm still hoping for an updated Scheduler interface so we don't need different Sampler and Scheduler piplelines.

parlance-zz commented 2 years ago

Personally, I'm still hoping for an updated Scheduler interface so we don't need different Sampler and Scheduler piplelines.

I would definitely be interested having that done.

hafriedlander commented 2 years ago

DPM2_A and Heun are now correct. DPM2 is still showing unexplained differences from Compvis, even though it is now correctly running the model twice.

hafriedlander commented 2 years ago

Fixed. I'm going to close this for now, although I'll open another issue with "improve schedulers" because there's a lot of refactoring we could do.

keturn commented 2 years ago

fixed? woah how what when?

oooh, I see, I am subscribed to PR updates but that doesn't add anything to my feed when you just push straight to main. Sneaky!

hafriedlander commented 2 years ago

@keturn ha, sorry, yeah, perils of a one-man team is I'm lazy to follow good practice :p. I should probably spin up a dev branch so main is a bit more stable (although if I suspect there's a breaking change I generally do do that it a branch first).