MolecularDiffusion.modules.models.syncogen.diffusion.sampling.discrete_strategies.mdlm¶
MDLM (Masked Diffusion Language Model) sampling strategy.
Classes¶
MDLM sampling strategy for discrete graph features. |
Module Contents¶
- class MolecularDiffusion.modules.models.syncogen.diffusion.sampling.discrete_strategies.mdlm.MDLM(discrete_noise=None, constrain_edge_sampling=True)¶
-
MDLM sampling strategy for discrete graph features.
Uses the MDLM update rule: interpolate between staying masked and transitioning to the predicted distribution.
- Parameters:
discrete_noise – Noise schedule function for discrete features.
constrain_edge_sampling – Whether to constrain edge sampling step.
- step(graph: MolecularDiffusion.modules.models.syncogen.api.graph.graph.BBRxnGraph, p_x0: torch.Tensor, p_e0: torch.Tensor, t: torch.Tensor, dt: torch.Tensor) Tuple[torch.Tensor, torch.Tensor]¶
Perform one MDLM denoising step.
- Parameters:
graph – BBRxnGraph with current noisy state
p_x0 – Predicted node probabilities (B, N, D_node)
p_e0 – Predicted edge probabilities (B, N, N, D_edge)
t – Current timestep (B, 1)
dt – Time step size
- Returns:
Updated features
- Return type:
X_next, E_next