MolecularDiffusion.modules.tasks.diffusion_tabasco_gvp¶
TABASCO + GVP backbone: a novel-model derivation of diffusion_tabasco.
Replaces TABASCO’s TransformerModule backbone with GVPBackbone
(modules/models/tabasco_gvp/gvp_backbone.py, wrapping this platform’s
existing GVPConv/NodePositionUpdate/EdgeUpdate layers). Every
other TABASCO component – FlowMatchingModel, SDEMetricInterpolant,
DiscreteInterpolant, the Euler-Maruyama sampler,
TabascoNodeDistribution, the pointcloud<->TensorDict adapters – is
imported unmodified from
MolecularDiffusion.modules.tasks.diffusion_tabasco.
See docs/model_novel/tabasco_gvp/INTEGRATION_PLAN.md (“Integration Plan”,
“Derivation Rung”) for why this is a subclass that overrides only
__init__ rather than a smaller override: TabascoDiffusionTask.__init__
has no seam to override just the backbone-construction line, so this
reproduces its assembly sequence (diffusion_tabasco.py:280-326) with one
substitution – GVPBackbone(**gvp_config) in place of
TransformerModule(**transformer_config). Same pattern the sibling
tabasco_egnn track already used
(modules/tasks/diffusion_tabasco_egnn.py).
Classes¶
Factory for |
|
TABASCO flow-matching diffusion with a GVP backbone. |
Module Contents¶
- class MolecularDiffusion.modules.tasks.diffusion_tabasco_gvp.ModelTaskFactory(task_type: str, gvp_config: dict, coords_interpolant_config: dict, atomics_interpolant_config: dict, flow_matching_config: dict, num_atom_types: int, dataset_stats: dict, atom_vocab: list | None = None, train_set: torch.utils.data.Dataset | None = None, **kwargs)¶
Bases:
MolecularDiffusion.modules.tasks.diffusion_tabasco.ModelTaskFactoryFactory for
TabascoGVPDiffusionTask.compute_dataset_statsis inherited unchanged fromTabascoModelTaskFactory(diffusion_tabasco.py:191-245) – it only touchesself.dataset_stats/self.train_set, neither of which changes shape here. Only the constructor’s config surface (gvp_configin place oftransformer_config) andbuild()’s target class differ.- build()¶
Build and return the TabascoGVPDiffusionTask.
- atom_vocab¶
- atomics_interpolant_config¶
- coords_interpolant_config¶
- dataset_stats¶
- flow_matching_config¶
- gvp_config¶
- kwargs¶
- num_atom_types¶
- task_type¶
- train_set = None¶
- class MolecularDiffusion.modules.tasks.diffusion_tabasco_gvp.TabascoGVPDiffusionTask(gvp_config: dict, coords_interpolant_config: dict, atomics_interpolant_config: dict, flow_matching_config: dict, num_atom_types: int, dataset_stats: dict, atom_vocab: list | None = None, condition_names: list = [], context_mask_rate: float = 0.0, mask_value: float = 0.0, normalize_condition: str | None = None, adapter_conditions: list | None = None, use_adapter_module: bool = False)¶
Bases:
MolecularDiffusion.modules.tasks.diffusion_tabasco.TabascoDiffusionTaskTABASCO flow-matching diffusion with a GVP backbone.
Every method other than
__init__(forward,predict_and_target,evaluate,sample,node_dist_model,n_node_dist,model,device) is inherited unchanged fromTabascoDiffusionTask– they only ever call throughself.tabasco_model/self.net, which is backbone-agnostic.- atom_vocab = None¶
- condition = []¶
- context_mask_rate = 0.0¶
- mask_value = 0.0¶
- max_n_nodes¶
- n_adapter_context¶
- n_concat_context¶
- normalize_condition = None¶
- num_atom_types¶
- prop_dist_model = None¶
- property_norms = None¶
- tabasco_model¶
- task_type = 'diffusion_tabasco_gvp'¶
- to_pointcloud¶
- to_tensordict¶