Base Schedule
discrete_diffusion.noise_schedules.base
Base interfaces for noise schedules used in discrete diffusion.
Defines a stable NoiseSchedule protocol with continuous-time semantics and
an adapter ScheduleAdapter that preserves the legacy call signature
schedule(t) -> (alpha_prime_t, alpha_t) used throughout existing trainers.
NoiseSchedule
Bases: Module
Abstract base class for continuous-time noise schedules.
Implementations should return attenuation factors alpha(t) in (0, 1] and
their derivative alpha'(t) with respect to t. Some schedules may also
provide a cumulative/"total" noise measure (e.g., required by SEDD).
Source code in src/discrete_diffusion/noise_schedules/base.py
alpha_prime_t(t)
Return derivative d/dt alpha(t) for timesteps t.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
t
|
Tensor
|
Tensor of shape |
required |
Returns:
| Type | Description |
|---|---|
Tensor
|
Tensor broadcastable to the shape of |
Source code in src/discrete_diffusion/noise_schedules/base.py
alpha_t(t)
Return attenuation alpha(t) for timesteps t in [0, 1].
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
t
|
Tensor
|
Tensor of shape |
required |
Returns:
| Type | Description |
|---|---|
Tensor
|
Tensor matching the shape of |
Source code in src/discrete_diffusion/noise_schedules/base.py
total_noise(t)
Optional cumulative noise measure for schedules that define it.
Implementations that do not support a total noise measure may raise
NotImplementedError. This is used by SEDD-style forward processes.