Hey, so what’s the deal with Stable Diffusion samplers? I’ve used Notebook LLM to get a summary of their differences and aims, but does anyone have any practical insight using them?
And a abridged briefing doc in layman’s terms
Euler: "Basic Steps" or "Simple Subtraction" - This sampler works by simply removing noise in each step. It's like taking away a layer of blur to reveal the image. It is also one of the fastest and most straightforward samplers
Euler a: "Creative Variation" or "Adding Noise" – This one is like the "Basic Steps" sampler, but with a bit of random noise added back in at each step. This makes the results more unpredictable, like a creative filter that produces a slightly different image each time [2, 3]. This also means that the image will keep changing as more steps are added [4, 5].
DPM2: "Smart Prediction" - This sampler uses a smarter way to predict how to remove the noise, making it more accurate [6].
DPM2 Karras: "Smart Prediction, Better Colors" – Like the previous one but with improved color quality.
DPM++ 2M: "Advanced Smart Prediction" – An improved version of "Smart Prediction" that uses some extra information from previous steps to make better predictions [6, 7].
DPM++ 2M Karras: "Advanced Smart Prediction, Better Colors" – Like the previous one but with improved color quality [6, 7].
DPM++ SDE: "Detailed Stochastic Prediction" – This sampler uses a more complex math model to understand noise, resulting in detailed images [7]. It is stochastic, meaning that it introduces a degree of randomness, which can lead to varied results [8].
DPM++ SDE Karras: "Optimized Detailed Stochastic Prediction" - This is a version of the previous sampler that is optimized for better performance and image quality [7].
DPM fast: "Fast DPM" - This sampler is designed to be fast, but may require more steps and is not generally recommended [9-11].
DPM adaptive: "Self-Adjusting Detail" - Instead of using steps, this sampler adjusts itself based on a setting that changes the image's contrast and saturation [4, 12].
Heun: "Two-Step Correction" - This sampler works by predicting the image, checking the prediction, and then combining both for a better result [13]. It uses a weighted average of two noise estimates [14].
LMS: "Artistic Style" or "Painterly" – This sampler uses information from previous steps to create an image with a more artistic or painterly style [15]. It can struggle with generating detailed characters or animals [16].
LMS Karras: "Artistic Style, Better Colors" – Like the previous one but with improved color quality [16].
DDIM: "Photorealistic Detail" or "Smooth Solver" – This sampler uses a special method to generate images which are often photorealistic and highly detailed. It was widely used, but is now considered outdated by some [17, 18].
PLMS: "Quick Estimator" – This sampler quickly estimates the noise and removes it, but it is not generally recommended because it is slower and produces worse results [9, 19].
LCM: "Fast Refiner" or "Single Step Image" – This sampler can produce good images very quickly, in as little as one step. It uses a special technique to refine the image in its latent space [20].
Restart: "Noise Reset" or "Iterative Correction" - This sampler is like restarting the image generation by adding a lot of noise, and then starting again with the denoising process. It does this several times [21, 22].
UniPC: "Smart Combination" or "Flexible Solver" – This sampler is designed to combine information in a way that it can be used with many different models. It can also change its level of accuracy to work faster [23].
These names aim to be more intuitive, focusing on the core action or result of each sampler. For example, instead of “DPM++ 2M,” you get “Advanced Smart Prediction,” which better describes what the sampler does, without needing to know the underlying math. The “Karras” variants are noted for their improved color quality. The ancestral samplers have “variation” or “adding noise” in their names. The goal is to provide a better, more intuitive understanding of how each sampler functions.