Base Sampling
discrete_diffusion.sampling.base
Sampler interface for discrete diffusion generation routines.
Sampler
Bases: ABC
Base interface defining hooks used by all samplers.
Samplers orchestrate the iterative generation process, managing the transition from noise to clean data.
Source code in src/discrete_diffusion/sampling/base.py
compute_posterior(x, t, dt, p_x0_cache)
Optional posterior computation hook for samplers that need incremental steps.
denoise(x, t)
generate(model, *, num_samples, num_steps, eps, inject_bos)
abstractmethod
Generate new samples from the provided model.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
model
|
Any
|
The trained model to sample from. |
required |
num_samples
|
int
|
Number of samples to generate. |
required |
num_steps
|
int
|
Number of sampling steps. |
required |
eps
|
float
|
Small epsilon for numerical stability or time bounds. |
required |
inject_bos
|
bool
|
Whether to inject a Beginning-Of-Sequence token. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
Tensor |
Any
|
Generated samples. |
Source code in src/discrete_diffusion/sampling/base.py
step_analytic(x, t, dt)
Optional analytic update hook for samplers that support closed-form steps.