matcha.torch.models.classic.gatedcgn_model
Gated Graph Convolutional Network (GatedGCN) classic model.
Classes
Gated Graph Convolutional Network (GatedGCN) for molecular property prediction. |
Module Contents
- class matcha.torch.models.classic.gatedcgn_model.GatedGCNModel(additional_mol_features_dim: int = 0, enc_num_layers: int = 3, enc_atom_input_dim: int = 44, enc_bond_input_dim: int = 14, enc_atom_hidden_dim: int = 300, enc_jk: str = 'last', enc_norm: str | None = 'batch', enc_readout: str = 'vpa', enc_activation: str = 'swish', enc_dropout: float = 0.2, enc_laplacian_k: int = 10, enc_rwse_k: int = 20, enc_elstatic_k: int = 0, enc_distmat_k: int = 0, enc_rrwp_k: int = 20, pred_hidden_dims: list[int] = [512, 256], pred_task_head_dims: list[int] | None = None, pred_activation: str = 'swish', pred_dropout: float = 0.2, num_endpoints: int = 1, loss_fn: str = 'mse', loss_args: dict = {}, optimizer: str = 'adam', optimizer_args: dict = {'lr': 0.001}, scheduler: str = 'cosine_annealing', scheduler_args: dict = {'min_lr': 1e-06, 'total_steps': 50})[source]
Bases:
matcha.torch.models.classic.base_classic_model.BaseClassicModel,lightning.pytorch.core.mixins.HyperparametersMixinGated Graph Convolutional Network (GatedGCN) for molecular property prediction.
Uses gated edge features and residual connections for message passing. Inherits from
BaseClassicModelfor common training/prediction routines and fromHyperparametersMixinfor saving hyperparameters.Reference: Dwivedi et al., Benchmarking Graph Neural Networks (https://arxiv.org/abs/2003.00982)
Example usage:
model = GatedGCNModel() trainer = L.Trainer(max_epochs=50) trainer.fit(model=model, train_dataloaders=train_dataloader)
- Parameters:
additional_mol_features_dim (int) – dimensionality of extra molecular features concatenated to encoder output, defaults to 0
enc_num_layers (int) – number of GatedGCN message-passing layers, defaults to 3
enc_atom_input_dim (int) – input atom feature dimensionality, defaults to 44
enc_bond_input_dim (int) – input bond feature dimensionality, defaults to 14
enc_atom_hidden_dim (int) – hidden atom feature dimensionality, defaults to 300
enc_jk (str) – jumping knowledge strategy, defaults to ‘last’
enc_norm (str | None) – normalisation type, defaults to ‘batch’
enc_readout (str) – graph-level readout strategy, defaults to ‘vpa’
enc_activation (str) – activation function in the encoder, defaults to ‘swish’
enc_dropout (float) – dropout rate in the encoder, defaults to 0.2
enc_laplacian_k (int) – Laplacian positional encoding dimension, defaults to 10
enc_rwse_k (int) – random-walk structural encoding dimension, defaults to 20
enc_elstatic_k (int) – electrostatic encoding dimension, defaults to 0
enc_distmat_k (int) – distance matrix encoding dimension, defaults to 0
enc_rrwp_k (int) – relative random-walk probabilities dimension, defaults to 20
pred_hidden_dims (list[int]) – hidden layer sizes in the MLP predictor, defaults to [512, 256]
pred_task_head_dims (list[int] | None) – per-task head dimensions, defaults to None
pred_activation (str) – activation in the predictor, defaults to ‘swish’
pred_dropout (float) – dropout rate in the predictor, defaults to 0.2
num_endpoints (int) – number of prediction targets, defaults to 1
loss_fn (str) – loss function name, defaults to ‘mse’
loss_args (dict) – additional loss function arguments, defaults to {}
optimizer (str) – optimizer name, defaults to ‘adam’
optimizer_args (dict) – additional optimizer arguments, defaults to {‘lr’: 1e-3}
scheduler (str) – learning rate scheduler name, defaults to ‘cosine_annealing’
scheduler_args (dict) – additional scheduler arguments, defaults to {‘min_lr’: 1e-6, ‘total_steps’: 50}
- params
- encoder