agedi.diffusion.sdes.noise_schedules¶
Classes¶
Abstract base class for diffusion noise schedules. |
|
Linear noise schedule: |
|
Exponential noise schedule: |
|
Cosine noise schedule: |
Module Contents¶
- class agedi.diffusion.sdes.noise_schedules.NoiseSchedule(min: float, max: float)¶
Bases:
abc.ABCAbstract base class for diffusion noise schedules.
A noise schedule defines a function
f(t)that controls the noise level during the forward diffusion process, wheret ∈ [0, 1].- min¶
- max¶
- get_hparams() Dict¶
Return hyperparameters sufficient to reconstruct this noise schedule.
Returns a dictionary with a
_target_key plusminandmax. Subclasses can callsuper().get_hparams()and add their own params.- Returns:
Hyperparameter dictionary.
- Return type:
dict
- abstractmethod f(t: torch.Tensor) torch.Tensor¶
Returns the noise schedule value at time t.
- abstractmethod fprime(t: torch.Tensor) torch.Tensor¶
Returns the derivative of the noise schedule at time t.
- abstractmethod fint(t: torch.Tensor) torch.Tensor¶
Return the integral of the noise schedule at time t
- df2dt(t: torch.Tensor) torch.Tensor¶
Return the time derivative of f(t)² at time t.
Computed as
2 * f(t) * f'(t).
- class agedi.diffusion.sdes.noise_schedules.Linear(min: float, max: float)¶
Bases:
NoiseScheduleLinear noise schedule:
f(t) = min + (max - min) * t.- f(t: torch.Tensor) torch.Tensor¶
Evaluate the noise schedule at time t.
- fprime(t: torch.Tensor) torch.Tensor¶
Return the derivative of the noise schedule at time t.
- fint(t: torch.Tensor) torch.Tensor¶
Return the integral of the noise schedule from 0 to t.
- class agedi.diffusion.sdes.noise_schedules.Exponential(min: float, max: float)¶
Bases:
NoiseScheduleExponential noise schedule:
f(t) = min * (max/min)^t.- f(t: torch.Tensor) torch.Tensor¶
Evaluate the noise schedule at time t.
- fprime(t: torch.Tensor) torch.Tensor¶
Return the derivative of the noise schedule at time t.
- fint(t: torch.Tensor) torch.Tensor¶
Return the integral of the noise schedule from 0 to t.
- class agedi.diffusion.sdes.noise_schedules.Cosine(min: float, max: float)¶
Bases:
NoiseScheduleCosine noise schedule:
f(t) = min + (max - min) * (1 - cos(πt)) / 2.- f(t: torch.Tensor) torch.Tensor¶
Evaluate the noise schedule at time t.
- fprime(t: torch.Tensor) torch.Tensor¶
Return the derivative of the noise schedule at time t.
- fint(t: torch.Tensor) torch.Tensor¶
Return the integral of the noise schedule from 0 to t.