Timer#
Timer Classes#
- class diffuse.timer.base.Timer(n_steps: int)[source]#
Bases:
objectBase Timer class for scheduling time steps in diffusion processes.
- Parameters:
n_steps – Number of discrete time steps
- class diffuse.timer.base.VpTimer(n_steps: int, eps: float, tf: float)[source]#
Bases:
TimerVariance Preserving Timer that implements linear interpolation between final and initial time.
- Parameters:
n_steps – Number of discrete time steps
eps – Initial time value
tf – Final time value
- class diffuse.timer.base.HeunTimer(n_steps: int, rho: float = 7.0, sigma_min: float = 0.002, sigma_max: float = 80.0)[source]#
Bases:
TimerHeun Timer implementing power-law scaling of noise levels.
This timer discretizes noise space rather than time space, using a power-law relationship to schedule noise levels. It is designed to be used with sampling methods that are defined on noise levels (like EDM - Elucidating the Design Space of Diffusion-Based Generative Models) rather than time-based approaches.
- Parameters:
n_steps – Number of discrete time steps
rho – Power scaling factor (default: 7.0)
sigma_min – Minimum noise level (default: 0.002)
sigma_max – Maximum noise level (default: 0.002)
- class diffuse.timer.base.DDIMTimer(n_steps: int, n_time_training: int, c_1: float = 0.001, c_2: float = 0.008, j0: int = 8)[source]#
Bases:
TimerDenoising Diffusion Implicit Models (DDIM) Timer.
Implements custom time scheduling for DDIM as described in https://arxiv.org/pdf/2206.00364. Uses a power-law interpolation between c_1 and c_2 with exponent j0.