Stable Diffusion-采样器篇 - 知乎采样器:Stable Diffusion的webUI中,提供了大量的采样器供我们选择,例如Eular a, Heum,DDIM等,不同的采样器之间究竟有什么区别,在操作时又该如何进行选择,本文将会详细讲解采样器是如何工作的,以及各种采...https://zhuanlan.zhihu.com/p/621083328https://github.com/huggingface/diffusers/issues/1633https://github.com/huggingface/diffusers/issues/1633
目前是stable-diffusion-webui 1.6的30种采样器,从原理上大部分还是基于DDPM改出来的,基于扩散模型的基本范式,加噪去噪过程,从应用上基本可以分为三大类,第一是早期的老派采样器,第二类是2022年发布的DPM算法,第三类是2023年的新采样器。
在第一类中,DDIM和PLMS是随着sd第一版提出的,已经过时了,Euler、Heun、LMS都是经典的ODE求解器,Heun改进自Euler,速度慢一倍,LMS是线性多步法,保留Euler /a就可以了。在采样器中带a的都是祖先采样器,生成的图是不收敛的,这一类祖先采样器在每个采样步骤中都会添加噪声,随着采样步数的增加,画面或多或少都有一些变化,不收敛,相反能收敛的采样器随着采样步数增加会趋向于一个固定的画面,不收敛的好处是给图片带来一定的随机细节。
上面是可以保留下来的DPM算法,DPM一代算法都不用,DPM2采样器也不推荐,质量可能会好点,但是渲染时间会翻倍,DPM++是一代算法的改进,带karras的相比原来算法在8步采样后,噪点会少很多,能用更少的采样步数产生更好的图,加heun的速度会很慢。s表示单步,2m表示2阶多步采样,2m是2s的升级版本。