Question about Samplers? (Normal, simple, karras, DDIM Uniform) #227
-
Heyo, I've been a user of the Automatic1111 Webui for a while, I switched over to this when I realized how good it was. I have a question about the sampler type: What is the difference between the "Normal, simple, karras, and DDIM Uniform" sample types? I tried looking at the examples to see if I could spot a pattern in use cases; I noticed the "simple" sample type was used in the Img2Img type of examples, and Normal was used if it was the initial gen, but I'm not sure if this is the correct way for me to be interpreting these things. |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 7 replies
-
Those are schedulers. They define the timesteps/sigmas for the points at which the samplers sample at. I decided to make them a separate option unlike other uis because it made more sense to me. In karras the samplers spend more time sampling smaller timesteps/sigmas than the normal one. If you want the same behavior as other uis, karras and normal are the ones you should use for most samplers. Simple is just one I added because I tried writing the simplest scheduler I could for fun and it actually worked well in some scenarios like second pass of hiresfix so I included it and named it simple. ddim_uniform is the one that's supposed to be used with ddim if you want it to behave exactly like the ddim sampler in the reference Stable Diffusion implementation. |
Beta Was this translation helpful? Give feedback.
-
@comfyanonymous I don't want to start a new topic on this so I figured this would be the best place to ask. I see in comfy/k_diffusion/sampling.py that there are additional schedulers like polyexponential, vp, and etc. Additionally, some of the samplers themselves have additional parameters for what I assume are tuning knobs. Is there are particular reason or blockage on why some of the schedulers aren't implemented or some of the parameters aren't exposed to the user? |
Beta Was this translation helpful? Give feedback.
Those are schedulers. They define the timesteps/sigmas for the points at which the samplers sample at. I decided to make them a separate option unlike other uis because it made more sense to me.
In karras the samplers spend more time sampling smaller timesteps/sigmas than the normal one. If you want the same behavior as other uis, karras and normal are the ones you should use for most samplers.
Simple is just one I added because I tried writing the simplest scheduler I could for fun and it actually worked well in some scenarios like second pass of hiresfix so I included it and named it simple.
ddim_uniform is the one that's supposed to be used with ddim if you want it to behave exactly li…