Implement v-prediction in all schedulers
This would be nice to guarantee scheduler interoperability in Stable Diffusion 2. DDIM, DDPM and EulerDiscrete already support v-prediction, the following ones remain (from the list of compatible stable diffusion schedulers):
- [ ] EulerAncestralDiscreteScheduler
- [ ] PNDMScheduler
- [ ] LMSDiscreteScheduler
- [x] DPMSolverMultistepScheduler
I will take a stab at the DPMSolverMultistepScheduler scheduler
@pcuenca would be interested in contributing, but not sure what v-prediction is. Could you give me a summary / resources?
thank you for your interest @vvvm23
So v-prediction refers to a type of loss objective in diffusion models. It is somewhat technical but perhaps check Section 4 of "Progressive Distillation for Fast Sampling of Diffusion Models" paper https://arxiv.org/pdf/2202.00512.pdf and let me know if you have further questions...
Closing this one as it's tackled here: https://github.com/huggingface/diffusers/pull/1505