GIDD Sampling
discrete_diffusion.sampling.gidd
GIDD sampler for hybrid diffusion models.
GIDDSampler
Bases: Sampler
Sampler for GIDD (Generalized Iterative Discrete Diffusion) models.
Source code in src/discrete_diffusion/sampling/gidd.py
compute_posterior(model, z_t, t, s)
Compute posterior q(z_s | z_t, x_0) for GIDD.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
model
|
The GIDD model instance. |
required | |
z_t
|
Current noisy samples at time t. |
required | |
t
|
Current timestep. |
required | |
s
|
Next (less noisy) timestep. |
required |
Returns:
| Type | Description |
|---|---|
|
Samples from the posterior distribution. |
Source code in src/discrete_diffusion/sampling/gidd.py
generate(model, *, num_samples, num_steps, eps, inject_bos)
Generate samples using GIDD reverse diffusion process.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
model
|
The GIDD model instance. |
required | |
num_samples
|
Number of samples to generate. |
required | |
num_steps
|
Number of denoising steps. |
required | |
eps
|
Minimum timestep value (epsilon). |
required | |
inject_bos
|
Whether to inject BOS token at position 0. |
required |
Returns:
| Type | Description |
|---|---|
|
Generated token sequences of shape [num_samples, num_tokens]. |