Optimized Stable Diffusion多采样器对比分析:PLMS、Euler、DPM等算法详解

Optimized Stable Diffusion多采样器对比分析:PLMS、Euler、DPM等算法详解

【免费下载链接】stable-diffusionOptimized Stable Diffusion modified to run on lower GPU VRAM 项目地址: https://gitcode.com/gh_mirrors/stablediffusion3/stable-diffusion

Optimized Stable Diffusion是一款针对低GPU显存设备优化的AI绘图工具,能够在保持高质量图像生成的同时降低硬件要求。本文将深入对比分析PLMS、Euler、DPM等主流采样算法的特点、适用场景及性能表现,帮助新手用户快速掌握不同采样器的选择技巧。

采样器基础:为什么选择很重要?

在Stable Diffusion中,采样器是决定图像生成质量、速度和风格的核心组件。不同采样器采用不同的数学方法从噪声中逐步生成图像,直接影响最终效果。通过分析optimizedSD/ddpm.py源码可知,该项目支持PLMS、Euler、DPM等多种采样算法,每种算法都有其独特的优势和适用场景。

图:不同采样器生成图像的过程对比(Optimized Stable Diffusion输出结果)

主流采样器技术特性对比

PLMS采样器:平衡速度与质量的首选

PLMS(Pseudo Linear Multistep Sampler)是一种基于线性多步方法的采样器,通过使用前几步的梯度信息来加速收敛。在optimizedSD/ddpm.py的实现中,PLMS采用了Adams-Bashforth方法,支持2-4阶精度控制:

# PLMS采样器核心实现(简化代码) if len(old_eps) == 0: # 2阶改进欧拉法 e_t_prime = (e_t + e_t_next) / 2 elif len(old_eps) == 1: # 2阶Adams-Bashforth e_t_prime = (3 * e_t - old_eps[-1]) / 2 elif len(old_eps) == 2: # 3阶Adams-Bashforth e_t_prime = (23 * e_t - 16 * old_eps[-1] + 5 * old_eps[-2]) / 12 elif len(old_eps) >= 3: # 4阶Adams-Bashforth e_t_prime = (55 * e_t - 59 * old_eps[-1] + 37 * old_eps[-2] - 9 * old_eps[-3]) / 24 

优势

  • 只需50步即可生成高质量图像,比DDIM快2倍
  • 显存占用低,适合低配GPU
  • 图像细节丰富,纹理自然

适用场景:日常创作、快速原型设计、低配置设备

Euler采样器:最快的生成选择

Euler采样器基于欧拉方法,是最简单的数值积分算法之一。在代码实现中(optimizedSD/ddpm.py第782-813行),Euler采样器通过直接计算梯度并更新采样点:

# Euler采样器核心步骤 d = to_d(x, sigma_hat, denoised) dt = sigmas[i + 1] - sigma_hat x = x + d * dt # 简单的一阶更新 

Euler采样器有两个变种:

  • Euler:确定性采样,适合需要稳定结果的场景
  • Euler a:随机性采样,能生成更多样化的结果

图:使用Euler a采样器生成的风景图像(100步,CFG=7.5)

优势

  • 速度最快,步数少(20-30步即可出图)
  • 算法简单,显存占用最低
  • 适合快速迭代和风格探索

适用场景:快速预览、风格迁移、低显存设备

DPM采样器:高质量细节的专业选择

DPM(Denoising Probabilistic Models)采样器系列包括DPM2和DPM2 a两种实现,基于二阶微分方程求解器,在optimizedSD/ddpm.py第901-948行中实现:

# DPM2采样器核心步骤 sigma_mid = ((sigma_hat ** (1 / 3) + sigmas[i + 1] ** (1 / 3)) / 2) ** 3 dt_1 = sigma_mid - sigma_hat x_2 = x + d * dt_1 # 中点计算 # 二次更新 d_2 = to_d(x_2, sigma_mid, denoised_2) x = x + d_2 * dt_2 

优势

  • 图像细节最丰富,尤其适合生成复杂纹理
  • 收敛稳定,步数可预测
  • 支持精确控制生成过程

适用场景:专业插画、产品设计、高质量图像生成

实战对比:相同参数下的采样器表现

为了直观对比不同采样器的效果,我们使用相同的提示词"a beautiful mountain landscape, 8k, realistic"和参数(步数50,CFG 7.5)进行测试:

图:从左到右依次为PLMS、Euler、DPM2采样器生成结果对比

关键指标对比

采样器生成时间显存占用细节质量风格一致性推荐步数
PLMS30-50
Euler20-30
Euler a20-40
DPM2极高40-80
DPM2 a极高40-80

采样器选择终极指南

按硬件条件选择

  • 低显存设备(<4GB):优先选择Euler或PLMS
  • 中等配置(4-8GB):推荐PLMS或DPM2
  • 高性能设备(>8GB):尝试DPM2或Heun采样器

按创作需求选择

  • 快速草图:Euler(20步)
  • 平衡质量与速度:PLMS(30-40步)
  • 高质量细节:DPM2(50-80步)
  • 艺术风格探索:Euler a或DPM2 a

实用技巧

  1. 尝试相同参数下不同采样器的效果,建立直观感受
  2. 复杂场景建议使用DPM2并增加步数到70-100
  3. 低显存用户可结合optimizedSD/optimized_txt2img.py使用Euler采样器

使用scripts/txt2img.py脚本可直接指定采样器:

python scripts/txt2img.py --prompt "your prompt" --sampler "plms" --steps 50 

总结:找到你的最佳采样器组合

Optimized Stable Diffusion提供的多种采样器为不同需求的用户提供了灵活选择。无论是追求速度的快速生成,还是追求极致细节的专业创作,都能找到合适的工具。建议新手从PLMS开始,熟悉后再尝试DPM系列以获得更高质量的输出。通过不断实验不同采样器与参数的组合,你将逐步掌握AI绘图的核心技巧,创造出令人惊艳的作品!

【免费下载链接】stable-diffusionOptimized Stable Diffusion modified to run on lower GPU VRAM 项目地址: https://gitcode.com/gh_mirrors/stablediffusion3/stable-diffusion

Could not load content