-
Notifications
You must be signed in to change notification settings - Fork 24
/
qm9_mol_gen_ddpm_grid_search.yaml
133 lines (104 loc) · 3.15 KB
/
qm9_mol_gen_ddpm_grid_search.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
# @package _global_
# to execute this experiment run:
# python train.py experiment=qm9_mol_gen_ddpm_grid_search
defaults:
- override /datamodule: edm_qm9.yaml
- override /model: qm9_mol_gen_ddpm.yaml
- override /callbacks: default.yaml
- override /trainer: default.yaml
# all parameters below will be merged with parameters from default configurations set above
# this allows you to overwrite only specified parameters
tags: ["molecule_generation", "qm9", "grid_search"]
seed: 42
callbacks:
model_checkpoint:
monitor: "val/loss"
save_top_k: 3
early_stopping:
monitor: "val/loss"
patience: 10
trainer:
min_epochs: 1000
max_epochs: 5000
strategy: ddp_find_unused_parameters_false
accelerator: gpu
devices: -1
num_nodes: 1
accumulate_grad_batches: 1
paths:
grid_search_script_dir: scripts/qm9_mol_gen_ddpm_grid_search_scripts
model:
optimizer:
lr: 1e-4
weight_decay: 1e-12
model_cfg:
h_hidden_dim: 256
chi_hidden_dim: 32
e_hidden_dim: 64
xi_hidden_dim: 16
num_encoder_layers: 9
num_decoder_layers: 3
dropout: 0.0
module_cfg:
selected_GCP:
# which version of the GCP module to use (e.g., GCP or GCP2)
_target_: src.models.components.gcpnet.GCP2
_partial_: true
norm_x_diff: true
scalar_gate: 0
vector_gate: true # note: For both GCP and GCP2, this parameter is used; For GCP2, this mimics updating vector features without directly using frame vectors
vector_residual: false # note: For both GCP and GCP2, this parameter is used
vector_frame_residual: false # note: for GCP2, this parameter is unused
frame_gate: false # note: for GCP2, if this parameter and `vector_gate` are both set to `false`, row-wise vector self-gating is applied instead
sigma_frame_gate: false # note: For GCP, this parameter overrides `frame_gate`; For GCP2, this parameter is unused and is replaced in functionality by `vector_gate`
scalar_nonlinearity: silu
vector_nonlinearity: silu
nonlinearities:
- ${..scalar_nonlinearity}
- ${..vector_nonlinearity}
bottleneck: 4
vector_linear: true
vector_identity: true
default_vector_residual: false
default_bottleneck: 4
node_positions_weight: 1.0
update_positions_with_vector_sum: false
ablate_frame_updates: false
ablate_scalars: false
ablate_vectors: false
clip_gradients: true
layer_cfg:
mp_cfg:
edge_encoder: false
edge_gate: false
num_message_layers: 4
message_residual: 0
message_ff_multiplier: 1
self_message: true
use_residual_message_gcp: true
pre_norm: false
use_gcp_norm: false
use_gcp_dropout: false
use_scalar_message_attention: true
num_feedforward_layers: 1
dropout: 0.0
nonlinearity_slope: 1e-2
diffusion_cfg:
ddpm_mode: unconditional
dynamics_network: gcpnet
num_timesteps: 1000
norm_training_by_max_nodes: false
datamodule:
dataloader_cfg:
num_train: -1
num_val: -1
num_test: -1
batch_size: 64
num_workers: 4
logger:
wandb:
name: 02092023_QM9MoleculeGenerationDDPM
group: "QM9"
tags: ${tags}
train: true
test: false