Diffusers 文档

ScoreSdeVpScheduler

Hugging Face's logo
加入 Hugging Face 社区

并获得增强的文档体验

开始使用

ScoreSdeVpScheduler

ScoreSdeVpScheduler 是一个方差保持随机微分方程 (SDE) 调度器。它在 Score-Based Generative Modeling through Stochastic Differential Equations 论文中被引入,作者是 Yang Song, Jascha Sohl-Dickstein, Diederik P. Kingma, Abhishek Kumar, Stefano Ermon, Ben Poole。

该论文的摘要是

从数据中创建噪声很容易;从噪声中创建数据是生成建模。我们提出了一个随机微分方程 (SDE),它通过缓慢注入噪声将复杂的数据分布平滑地转换为已知的先验分布,以及一个相应的反向时间 SDE,它通过缓慢去除噪声将先验分布转换回数据分布。至关重要的是,反向时间 SDE 仅依赖于扰动数据分布的随时间变化的梯度场(又名,分数)。通过利用基于分数的生成建模的进步,我们可以使用神经网络准确估计这些分数,并使用数值 SDE 求解器生成样本。我们表明,这个框架概括了以前在基于分数的生成建模和扩散概率建模中的方法,从而允许新的采样程序和新的建模能力。特别是,我们引入了一个预测器-校正器框架来校正离散化反向时间 SDE 演化中的误差。我们还推导出了一个等效的神经 ODE,它可以从与 SDE 相同的分布中采样,但此外还可以实现精确的可能性计算,并提高采样效率。此外,我们提供了一种使用基于分数的模型解决逆问题的新方法,正如在类条件生成、图像修复和着色实验中所证明的那样。结合多项架构改进,我们在 CIFAR-10 上的无条件图像生成方面取得了破纪录的性能,Inception 分数为 9.89,FID 为 2.20,竞争性的可能性为 2.99 bits/dim,并首次展示了来自基于分数的生成模型的高保真度 1024 x 1024 图像的生成。

🚧 此调度器正在建设中!

ScoreSdeVpScheduler

class diffusers.schedulers.ScoreSdeVpScheduler

< >

( num_train_timesteps = 2000 beta_min = 0.1 beta_max = 20 sampling_eps = 0.001 )

参数

  • num_train_timesteps (int, 默认为 2000) — 训练模型所需的扩散步骤数量。
  • beta_min (int, 默认为 0.1) —
  • beta_max (int, 默认为 20) —
  • sampling_eps (int, defaults to 1e-3) — 采样的结束值,时间步长从 1 逐渐减小到 epsilon。

ScoreSdeVpScheduler 是一种方差保持随机微分方程 (SDE) 调度器。

此模型继承自 SchedulerMixinConfigMixin。查看超类文档以获取库为所有调度器实现的通用方法,例如加载和保存。

set_timesteps

< >

( num_inference_steps device: typing.Union[str, torch.device] = None )

参数

  • num_inference_steps (int) — 使用预训练模型生成样本时使用的扩散步骤数。
  • device (strtorch.device, 可选) — 时间步长应移动到的设备。如果为 None,则时间步长不会移动。

设置用于扩散链的连续时间步长(在推理之前运行)。

step_pred

< >

( score x t generator = None )

参数

  • score () — 分数
  • x () —
  • t () —
  • generator (torch.Generator, 可选) — 随机数生成器。

通过反转 SDE,从上一个时间步长预测样本。此函数从学习到的模型输出(通常是预测的噪声)传播扩散过程。

< > 在 GitHub 上更新