Wthinker commited on
Commit
8e4e24e
·
verified ·
1 Parent(s): f50fa72

Upload folder using huggingface_hub

Browse files
ckpt/mp20_PathRefine/.hydra/config.yaml ADDED
@@ -0,0 +1,249 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ core:
2
+ version: ${get_flowmm_version:}
3
+ tags:
4
+ - ${now:%Y-%m-%d}
5
+ logging:
6
+ val_check_interval: 25
7
+ wandb:
8
+ project: uniug_uni
9
+ entity: null
10
+ log_model: true
11
+ mode: cloud
12
+ experiment_name: mp20_PathRefine_wuns0.001_wc0.01_e400_e450
13
+ wandb_watch:
14
+ log: all
15
+ log_freq: 500
16
+ lr_monitor:
17
+ logging_interval: step
18
+ log_momentum: false
19
+ optim:
20
+ optimizer:
21
+ _target_: torch.optim.AdamW
22
+ lr: 0.0005
23
+ weight_decay: 0.0
24
+ lr_scheduler:
25
+ _target_: torch.optim.lr_scheduler.CosineAnnealingLR
26
+ T_max: ${data.train_max_epochs}
27
+ eta_min: 1.0e-05
28
+ interval: epoch
29
+ ema_decay: 0.999
30
+ train:
31
+ deterministic: warn
32
+ random_seed: 42
33
+ pl_trainer:
34
+ fast_dev_run: false
35
+ strategy: ddp_find_unused_parameters_true
36
+ num_nodes: 1
37
+ devices: 8
38
+ accelerator: gpu
39
+ precision: 32
40
+ max_epochs: ${data.train_max_epochs}
41
+ accumulate_grad_batches: 1
42
+ num_sanity_val_steps: 1
43
+ gradient_clip_val: 10.0
44
+ gradient_clip_algorithm: norm
45
+ profiler: simple
46
+ log_every_n_steps: 500
47
+ monitor_metric: val/loss_csp
48
+ monitor_metric_mode: min
49
+ model_checkpoints:
50
+ save_top_k: 1
51
+ verbose: false
52
+ save_last: false
53
+ every_n_epochs_checkpoint:
54
+ every_n_epochs: 25
55
+ save_top_k: -1
56
+ verbose: false
57
+ save_last: false
58
+ val:
59
+ compute_nll: false
60
+ test:
61
+ compute_nll: false
62
+ compute_loss: true
63
+ integrate:
64
+ div_mode: rademacher
65
+ method: euler
66
+ num_steps: 1000
67
+ normalize_loglik: true
68
+ inference_anneal_slope: 0.0
69
+ inference_anneal_offset: 0.0
70
+ base_distribution_from_data: false
71
+ partial_ckpt_load: true
72
+ partial_ckpt_path: /mnt/ai4sci_develop_fast/songyouli/crystal-uniug/runs/trash/uniug_uni/bz256_mp20_mptsub_tclearn_freeze_epoch500/every_n_epochs/epoch=399-step=754800.ckpt
73
+ data:
74
+ dataset_name: mp_20
75
+ dim_coords: 3
76
+ root_path: ${oc.env:DATA_DIR}/mp_20
77
+ prop: formation_energy_per_atom
78
+ num_targets: 1
79
+ niggli: true
80
+ primitive: false
81
+ graph_method: crystalnn
82
+ lattice_scale_method: scale_length
83
+ preprocess_workers: 30
84
+ readout: mean
85
+ max_atoms: 20
86
+ otf_graph: false
87
+ eval_model_name: mp20
88
+ tolerance: 0.1
89
+ use_space_group: false
90
+ use_pos_index: false
91
+ train_max_epochs: 500
92
+ early_stopping_patience: 100000
93
+ teacher_forcing_max_epoch: 500
94
+ md_dataset_name: mptsubmp20_v0
95
+ root_path_md: ${oc.env:DATA_DIR}/${data.md_dataset_name}
96
+ require_order: false
97
+ prop_md:
98
+ - energy
99
+ - forces
100
+ energy_only: true
101
+ t_mode: c_learn
102
+ t_constant: 1.0
103
+ datamodule:
104
+ _target_: uniug.datamodule_uni.CrystDataModule
105
+ task_mode: uni
106
+ datasets:
107
+ train:
108
+ _target_: diffcsp.pl_data.dataset.CrystDataset
109
+ name: Formation energy train
110
+ path: ${data.root_path}/train.csv
111
+ save_path: ${data.root_path}/train_ori.pt
112
+ prop: ${data.prop}
113
+ niggli: ${data.niggli}
114
+ primitive: ${data.primitive}
115
+ graph_method: ${data.graph_method}
116
+ tolerance: ${data.tolerance}
117
+ use_space_group: ${data.use_space_group}
118
+ use_pos_index: ${data.use_pos_index}
119
+ lattice_scale_method: ${data.lattice_scale_method}
120
+ preprocess_workers: ${data.preprocess_workers}
121
+ val:
122
+ - _target_: diffcsp.pl_data.dataset.CrystDataset
123
+ name: Formation energy val
124
+ path: ${data.root_path}/val.csv
125
+ save_path: ${data.root_path}/val_ori.pt
126
+ prop: ${data.prop}
127
+ niggli: ${data.niggli}
128
+ primitive: ${data.primitive}
129
+ graph_method: ${data.graph_method}
130
+ tolerance: ${data.tolerance}
131
+ use_space_group: ${data.use_space_group}
132
+ use_pos_index: ${data.use_pos_index}
133
+ lattice_scale_method: ${data.lattice_scale_method}
134
+ preprocess_workers: ${data.preprocess_workers}
135
+ test:
136
+ - _target_: diffcsp.pl_data.dataset.CrystDataset
137
+ name: Formation energy test
138
+ path: ${data.root_path}/test.csv
139
+ save_path: ${data.root_path}/test_ori.pt
140
+ prop: ${data.prop}
141
+ niggli: ${data.niggli}
142
+ primitive: ${data.primitive}
143
+ graph_method: ${data.graph_method}
144
+ tolerance: ${data.tolerance}
145
+ use_space_group: ${data.use_space_group}
146
+ use_pos_index: ${data.use_pos_index}
147
+ lattice_scale_method: ${data.lattice_scale_method}
148
+ preprocess_workers: ${data.preprocess_workers}
149
+ train_md:
150
+ _target_: diffcsp.pl_data.dataset.CrystDataset
151
+ name: Formation energy train
152
+ path: ${data.root_path_md}/train.csv
153
+ save_path: ${data.root_path_md}/train_ori.pt
154
+ require_order: ${data.require_order}
155
+ prop: ${data.prop_md}
156
+ niggli: ${data.niggli}
157
+ primitive: ${data.primitive}
158
+ graph_method: ${data.graph_method}
159
+ tolerance: ${data.tolerance}
160
+ use_space_group: ${data.use_space_group}
161
+ use_pos_index: ${data.use_pos_index}
162
+ lattice_scale_method: ${data.lattice_scale_method}
163
+ preprocess_workers: ${data.preprocess_workers}
164
+ val_md:
165
+ - _target_: diffcsp.pl_data.dataset.CrystDataset
166
+ name: Formation energy val
167
+ path: ${data.root_path_md}/val.csv
168
+ save_path: ${data.root_path_md}/val_ori.pt
169
+ require_order: ${data.require_order}
170
+ prop: ${data.prop_md}
171
+ niggli: ${data.niggli}
172
+ primitive: ${data.primitive}
173
+ graph_method: ${data.graph_method}
174
+ tolerance: ${data.tolerance}
175
+ use_space_group: ${data.use_space_group}
176
+ use_pos_index: ${data.use_pos_index}
177
+ lattice_scale_method: ${data.lattice_scale_method}
178
+ preprocess_workers: ${data.preprocess_workers}
179
+ num_workers:
180
+ train: 40
181
+ val: 40
182
+ test: 40
183
+ batch_size:
184
+ train: 32
185
+ val: 32
186
+ test: 32
187
+ train_md: 32
188
+ val_md: 32
189
+ pin_memory: true
190
+ persistent_workers: false
191
+ prefetch_factor: 2
192
+ model:
193
+ w_csp: 0.95
194
+ w_pflow: 0.2
195
+ w_time: 0.1
196
+ cost_coord: 400.0
197
+ cost_lattice: 1.0
198
+ cost_type: 0.0
199
+ cost_energy: 1.0
200
+ cost_forces: 1.0
201
+ cost_stress: 1.0
202
+ affine_combine_costs: true
203
+ target_distribution: conditional
204
+ self_cond: false
205
+ t_pflow_clip: false
206
+ use_tangent: false
207
+ tclearn_freeze_epoch: 250
208
+ use_uns_flow_task: true
209
+ w_uns_flow: 0.001
210
+ w_consist: 0.01
211
+ uns_flow_tscale: true
212
+ uns_flow_tlearn: true
213
+ uns_path_refine: true
214
+ uns_path_t_clip: 0.9
215
+ use_consist_flow: true
216
+ consist_freeze_epoch: 450
217
+ uns_flow_freeze_epoch: 400
218
+ manifold_getter:
219
+ atom_type_manifold: null_manifold
220
+ coord_manifold: flat_torus_01
221
+ lattice_manifold: lattice_params
222
+ length_inner_coef: 1.0
223
+ vectorfield:
224
+ _target_: uniug.arch_uni.FlowmmUniModel
225
+ force_pred_way: direct
226
+ use_pflow_head: true
227
+ hidden_dim: 512
228
+ time_dim: 256
229
+ num_layers: 6
230
+ act_fn: silu
231
+ dis_emb: sin
232
+ num_freqs: 128
233
+ edge_style: fc
234
+ max_neighbors: 20
235
+ cutoff: 7.0
236
+ ln: true
237
+ use_log_map: true
238
+ dim_atomic_rep: ${get_dim_atomic_rep:${model.manifold_getter.atom_type_manifold}}
239
+ lattice_manifold: ${model.manifold_getter.lattice_manifold}
240
+ concat_sum_pool: true
241
+ represent_num_atoms: true
242
+ represent_angle_edge_to_lattice: true
243
+ self_edges: false
244
+ self_cond: ${model.self_cond}
245
+ t_mode: ${data.t_mode}
246
+ t_mask: -1.0
247
+ use_pflow_task: false
248
+ tlearn_clip: false
249
+ learnable_time_emb: false
ckpt/mp20_PathRefine/.hydra/overrides.yaml ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ - data=mp20_mptsub
2
+ - data.md_dataset_name=mptsubmp20_v0
3
+ - model=null_params_uni
4
+ - vectorfield=rfm_cspnet_uni
5
+ - train.pl_trainer.num_nodes=1
6
+ - train.pl_trainer.devices=8
7
+ - data.datamodule.batch_size.train=32
8
+ - data.datamodule.batch_size.train_md=32
9
+ - data.datamodule.batch_size.val=32
10
+ - data.datamodule.batch_size.val_md=32
11
+ - data.datamodule.batch_size.test=32
12
+ - logging.wandb.project=uniug_uni
13
+ - logging.wandb.experiment_name=mp20_PathRefine_wuns0.001_wc0.01_e400_e450
14
+ - data.energy_only=True
15
+ - model.w_csp=0.95
16
+ - optim.optimizer.lr=0.0005
17
+ - train.pl_trainer.gradient_clip_val=10.0
18
+ - train.pl_trainer.gradient_clip_algorithm=norm
19
+ - data.t_mode=c_learn
20
+ - model.tclearn_freeze_epoch=250
21
+ - model.use_uns_flow_task=True
22
+ - vectorfield.use_pflow_head=True
23
+ - model.w_uns_flow=0.001
24
+ - model.uns_flow_tscale=True
25
+ - model.uns_flow_tlearn=True
26
+ - data.train_max_epochs=500
27
+ - logging.val_check_interval=25
28
+ - train.every_n_epochs_checkpoint.every_n_epochs=25
29
+ - model.uns_path_refine=True
30
+ - model.uns_flow_freeze_epoch=400
31
+ - model.use_consist_flow=True
32
+ - model.consist_freeze_epoch=450
33
+ - model.w_consist=0.01
34
+ - partial_ckpt_load=True
35
+ - partial_ckpt_path="/mnt/ai4sci_develop_fast/songyouli/crystal-uniug/runs/trash/uniug_uni/bz256_mp20_mptsub_tclearn_freeze_epoch500/every_n_epochs/epoch=399-step=754800.ckpt"
ckpt/mp20_PathRefine/every_n_epochs/epoch=499-step=190587.ckpt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9510fd7c337d86bfe94f27134bdca2a7cfa8be151a93b89919ef3c8bca0c78f5
3
+ size 227511350
ckpt/mp20_PathRefine/hparams.yaml ADDED
@@ -0,0 +1,250 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ core:
2
+ version: ${get_flowmm_version:}
3
+ tags:
4
+ - ${now:%Y-%m-%d}
5
+ - ⚡️pytorch lightning
6
+ logging:
7
+ val_check_interval: 25
8
+ wandb:
9
+ project: uniug_uni
10
+ entity: null
11
+ log_model: true
12
+ mode: cloud
13
+ experiment_name: mp20_PathRefine_wuns0.001_wc0.01_e400_e450
14
+ wandb_watch:
15
+ log: all
16
+ log_freq: 500
17
+ lr_monitor:
18
+ logging_interval: step
19
+ log_momentum: false
20
+ optim:
21
+ optimizer:
22
+ _target_: torch.optim.AdamW
23
+ lr: 0.0005
24
+ weight_decay: 0.0
25
+ lr_scheduler:
26
+ _target_: torch.optim.lr_scheduler.CosineAnnealingLR
27
+ T_max: ${data.train_max_epochs}
28
+ eta_min: 1.0e-05
29
+ interval: epoch
30
+ ema_decay: 0.999
31
+ train:
32
+ deterministic: warn
33
+ random_seed: 42
34
+ pl_trainer:
35
+ fast_dev_run: false
36
+ strategy: ddp_find_unused_parameters_true
37
+ num_nodes: 1
38
+ devices: 8
39
+ accelerator: gpu
40
+ precision: 32
41
+ max_epochs: ${data.train_max_epochs}
42
+ accumulate_grad_batches: 1
43
+ num_sanity_val_steps: 1
44
+ gradient_clip_val: 10.0
45
+ gradient_clip_algorithm: norm
46
+ profiler: simple
47
+ log_every_n_steps: 500
48
+ monitor_metric: val/loss_csp
49
+ monitor_metric_mode: min
50
+ model_checkpoints:
51
+ save_top_k: 1
52
+ verbose: false
53
+ save_last: false
54
+ every_n_epochs_checkpoint:
55
+ every_n_epochs: 25
56
+ save_top_k: -1
57
+ verbose: false
58
+ save_last: false
59
+ val:
60
+ compute_nll: false
61
+ test:
62
+ compute_nll: false
63
+ compute_loss: true
64
+ integrate:
65
+ div_mode: rademacher
66
+ method: euler
67
+ num_steps: 1000
68
+ normalize_loglik: true
69
+ inference_anneal_slope: 0.0
70
+ inference_anneal_offset: 0.0
71
+ base_distribution_from_data: false
72
+ partial_ckpt_load: true
73
+ partial_ckpt_path: /mnt/ai4sci_develop_fast/songyouli/crystal-uniug/runs/trash/uniug_uni/bz256_mp20_mptsub_tclearn_freeze_epoch500/every_n_epochs/epoch=399-step=754800.ckpt
74
+ data:
75
+ dataset_name: mp_20
76
+ dim_coords: 3
77
+ root_path: ${oc.env:DATA_DIR}/mp_20
78
+ prop: formation_energy_per_atom
79
+ num_targets: 1
80
+ niggli: true
81
+ primitive: false
82
+ graph_method: crystalnn
83
+ lattice_scale_method: scale_length
84
+ preprocess_workers: 30
85
+ readout: mean
86
+ max_atoms: 20
87
+ otf_graph: false
88
+ eval_model_name: mp20
89
+ tolerance: 0.1
90
+ use_space_group: false
91
+ use_pos_index: false
92
+ train_max_epochs: 500
93
+ early_stopping_patience: 100000
94
+ teacher_forcing_max_epoch: 500
95
+ md_dataset_name: mptsubmp20_v0
96
+ root_path_md: ${oc.env:DATA_DIR}/${data.md_dataset_name}
97
+ require_order: false
98
+ prop_md:
99
+ - energy
100
+ - forces
101
+ energy_only: true
102
+ t_mode: c_learn
103
+ t_constant: 1.0
104
+ datamodule:
105
+ _target_: uniug.datamodule_uni.CrystDataModule
106
+ task_mode: uni
107
+ datasets:
108
+ train:
109
+ _target_: diffcsp.pl_data.dataset.CrystDataset
110
+ name: Formation energy train
111
+ path: ${data.root_path}/train.csv
112
+ save_path: ${data.root_path}/train_ori.pt
113
+ prop: ${data.prop}
114
+ niggli: ${data.niggli}
115
+ primitive: ${data.primitive}
116
+ graph_method: ${data.graph_method}
117
+ tolerance: ${data.tolerance}
118
+ use_space_group: ${data.use_space_group}
119
+ use_pos_index: ${data.use_pos_index}
120
+ lattice_scale_method: ${data.lattice_scale_method}
121
+ preprocess_workers: ${data.preprocess_workers}
122
+ val:
123
+ - _target_: diffcsp.pl_data.dataset.CrystDataset
124
+ name: Formation energy val
125
+ path: ${data.root_path}/val.csv
126
+ save_path: ${data.root_path}/val_ori.pt
127
+ prop: ${data.prop}
128
+ niggli: ${data.niggli}
129
+ primitive: ${data.primitive}
130
+ graph_method: ${data.graph_method}
131
+ tolerance: ${data.tolerance}
132
+ use_space_group: ${data.use_space_group}
133
+ use_pos_index: ${data.use_pos_index}
134
+ lattice_scale_method: ${data.lattice_scale_method}
135
+ preprocess_workers: ${data.preprocess_workers}
136
+ test:
137
+ - _target_: diffcsp.pl_data.dataset.CrystDataset
138
+ name: Formation energy test
139
+ path: ${data.root_path}/test.csv
140
+ save_path: ${data.root_path}/test_ori.pt
141
+ prop: ${data.prop}
142
+ niggli: ${data.niggli}
143
+ primitive: ${data.primitive}
144
+ graph_method: ${data.graph_method}
145
+ tolerance: ${data.tolerance}
146
+ use_space_group: ${data.use_space_group}
147
+ use_pos_index: ${data.use_pos_index}
148
+ lattice_scale_method: ${data.lattice_scale_method}
149
+ preprocess_workers: ${data.preprocess_workers}
150
+ train_md:
151
+ _target_: diffcsp.pl_data.dataset.CrystDataset
152
+ name: Formation energy train
153
+ path: ${data.root_path_md}/train.csv
154
+ save_path: ${data.root_path_md}/train_ori.pt
155
+ require_order: ${data.require_order}
156
+ prop: ${data.prop_md}
157
+ niggli: ${data.niggli}
158
+ primitive: ${data.primitive}
159
+ graph_method: ${data.graph_method}
160
+ tolerance: ${data.tolerance}
161
+ use_space_group: ${data.use_space_group}
162
+ use_pos_index: ${data.use_pos_index}
163
+ lattice_scale_method: ${data.lattice_scale_method}
164
+ preprocess_workers: ${data.preprocess_workers}
165
+ val_md:
166
+ - _target_: diffcsp.pl_data.dataset.CrystDataset
167
+ name: Formation energy val
168
+ path: ${data.root_path_md}/val.csv
169
+ save_path: ${data.root_path_md}/val_ori.pt
170
+ require_order: ${data.require_order}
171
+ prop: ${data.prop_md}
172
+ niggli: ${data.niggli}
173
+ primitive: ${data.primitive}
174
+ graph_method: ${data.graph_method}
175
+ tolerance: ${data.tolerance}
176
+ use_space_group: ${data.use_space_group}
177
+ use_pos_index: ${data.use_pos_index}
178
+ lattice_scale_method: ${data.lattice_scale_method}
179
+ preprocess_workers: ${data.preprocess_workers}
180
+ num_workers:
181
+ train: 40
182
+ val: 40
183
+ test: 40
184
+ batch_size:
185
+ train: 32
186
+ val: 32
187
+ test: 32
188
+ train_md: 32
189
+ val_md: 32
190
+ pin_memory: true
191
+ persistent_workers: false
192
+ prefetch_factor: 2
193
+ model:
194
+ w_csp: 0.95
195
+ w_pflow: 0.2
196
+ w_time: 0.1
197
+ cost_coord: 400.0
198
+ cost_lattice: 1.0
199
+ cost_type: 0.0
200
+ cost_energy: 1.0
201
+ cost_forces: 1.0
202
+ cost_stress: 1.0
203
+ affine_combine_costs: true
204
+ target_distribution: conditional
205
+ self_cond: false
206
+ t_pflow_clip: false
207
+ use_tangent: false
208
+ tclearn_freeze_epoch: 250
209
+ use_uns_flow_task: true
210
+ w_uns_flow: 0.001
211
+ w_consist: 0.01
212
+ uns_flow_tscale: true
213
+ uns_flow_tlearn: true
214
+ uns_path_refine: true
215
+ uns_path_t_clip: 0.9
216
+ use_consist_flow: true
217
+ consist_freeze_epoch: 450
218
+ uns_flow_freeze_epoch: 400
219
+ manifold_getter:
220
+ atom_type_manifold: null_manifold
221
+ coord_manifold: flat_torus_01
222
+ lattice_manifold: lattice_params
223
+ length_inner_coef: 1.0
224
+ vectorfield:
225
+ _target_: uniug.arch_uni.FlowmmUniModel
226
+ force_pred_way: direct
227
+ use_pflow_head: true
228
+ hidden_dim: 512
229
+ time_dim: 256
230
+ num_layers: 6
231
+ act_fn: silu
232
+ dis_emb: sin
233
+ num_freqs: 128
234
+ edge_style: fc
235
+ max_neighbors: 20
236
+ cutoff: 7.0
237
+ ln: true
238
+ use_log_map: true
239
+ dim_atomic_rep: ${get_dim_atomic_rep:${model.manifold_getter.atom_type_manifold}}
240
+ lattice_manifold: ${model.manifold_getter.lattice_manifold}
241
+ concat_sum_pool: true
242
+ represent_num_atoms: true
243
+ represent_angle_edge_to_lattice: true
244
+ self_edges: false
245
+ self_cond: ${model.self_cond}
246
+ t_mode: ${data.t_mode}
247
+ t_mask: -1.0
248
+ use_pflow_task: false
249
+ tlearn_clip: false
250
+ learnable_time_emb: false
ckpt/mp20_uns_PathRefine/.hydra/config.yaml ADDED
@@ -0,0 +1,249 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ core:
2
+ version: ${get_flowmm_version:}
3
+ tags:
4
+ - ${now:%Y-%m-%d}
5
+ logging:
6
+ val_check_interval: 10
7
+ wandb:
8
+ project: uniug_uni
9
+ entity: null
10
+ log_model: true
11
+ mode: cloud
12
+ experiment_name: mp20_uns_PathRefine_wuns0.02_wc0.5_e199_e249
13
+ wandb_watch:
14
+ log: all
15
+ log_freq: 500
16
+ lr_monitor:
17
+ logging_interval: step
18
+ log_momentum: false
19
+ optim:
20
+ optimizer:
21
+ _target_: torch.optim.AdamW
22
+ lr: 0.0005
23
+ weight_decay: 0.0
24
+ lr_scheduler:
25
+ _target_: torch.optim.lr_scheduler.CosineAnnealingLR
26
+ T_max: ${data.train_max_epochs}
27
+ eta_min: 1.0e-05
28
+ interval: epoch
29
+ ema_decay: 0.999
30
+ train:
31
+ deterministic: warn
32
+ random_seed: 42
33
+ pl_trainer:
34
+ fast_dev_run: false
35
+ strategy: ddp_find_unused_parameters_true
36
+ num_nodes: 1
37
+ devices: 8
38
+ accelerator: gpu
39
+ precision: 32
40
+ max_epochs: ${data.train_max_epochs}
41
+ accumulate_grad_batches: 1
42
+ num_sanity_val_steps: 1
43
+ gradient_clip_val: 10.0
44
+ gradient_clip_algorithm: norm
45
+ profiler: simple
46
+ log_every_n_steps: 500
47
+ monitor_metric: val/loss_csp
48
+ monitor_metric_mode: min
49
+ model_checkpoints:
50
+ save_top_k: 1
51
+ verbose: false
52
+ save_last: false
53
+ every_n_epochs_checkpoint:
54
+ every_n_epochs: 10
55
+ save_top_k: -1
56
+ verbose: false
57
+ save_last: false
58
+ val:
59
+ compute_nll: false
60
+ test:
61
+ compute_nll: false
62
+ compute_loss: true
63
+ integrate:
64
+ div_mode: rademacher
65
+ method: euler
66
+ num_steps: 1000
67
+ normalize_loglik: true
68
+ inference_anneal_slope: 0.0
69
+ inference_anneal_offset: 0.0
70
+ base_distribution_from_data: false
71
+ partial_ckpt_load: true
72
+ partial_ckpt_path: /mnt/ai4sci_develop_fast/songyouli/crystal-uniug/runs/trash/uniug_uni/mp20_mptsub_uns_V0_tclearn_freeze_wcsp0.95/every_n_epochs/epoch=199-step=172600.ckpt
73
+ data:
74
+ dataset_name: mp_20
75
+ dim_coords: 3
76
+ root_path: ${oc.env:DATA_DIR}/mp_20
77
+ prop: formation_energy_per_atom
78
+ num_targets: 1
79
+ niggli: true
80
+ primitive: false
81
+ graph_method: crystalnn
82
+ lattice_scale_method: scale_length
83
+ preprocess_workers: 30
84
+ readout: mean
85
+ max_atoms: 20
86
+ otf_graph: false
87
+ eval_model_name: mp20
88
+ tolerance: 0.1
89
+ use_space_group: false
90
+ use_pos_index: false
91
+ train_max_epochs: 300
92
+ early_stopping_patience: 100000
93
+ teacher_forcing_max_epoch: 500
94
+ md_dataset_name: mptsubmp20_uns_V0
95
+ root_path_md: ${oc.env:DATA_DIR}/${data.md_dataset_name}
96
+ require_order: false
97
+ prop_md:
98
+ - energy
99
+ - forces
100
+ energy_only: true
101
+ t_mode: c_learn
102
+ t_constant: 1.0
103
+ datamodule:
104
+ _target_: uniug.datamodule_uni.CrystDataModule
105
+ task_mode: uni
106
+ datasets:
107
+ train:
108
+ _target_: diffcsp.pl_data.dataset.CrystDataset
109
+ name: Formation energy train
110
+ path: ${data.root_path}/train.csv
111
+ save_path: ${data.root_path}/train_ori.pt
112
+ prop: ${data.prop}
113
+ niggli: ${data.niggli}
114
+ primitive: ${data.primitive}
115
+ graph_method: ${data.graph_method}
116
+ tolerance: ${data.tolerance}
117
+ use_space_group: ${data.use_space_group}
118
+ use_pos_index: ${data.use_pos_index}
119
+ lattice_scale_method: ${data.lattice_scale_method}
120
+ preprocess_workers: ${data.preprocess_workers}
121
+ val:
122
+ - _target_: diffcsp.pl_data.dataset.CrystDataset
123
+ name: Formation energy val
124
+ path: ${data.root_path}/val.csv
125
+ save_path: ${data.root_path}/val_ori.pt
126
+ prop: ${data.prop}
127
+ niggli: ${data.niggli}
128
+ primitive: ${data.primitive}
129
+ graph_method: ${data.graph_method}
130
+ tolerance: ${data.tolerance}
131
+ use_space_group: ${data.use_space_group}
132
+ use_pos_index: ${data.use_pos_index}
133
+ lattice_scale_method: ${data.lattice_scale_method}
134
+ preprocess_workers: ${data.preprocess_workers}
135
+ test:
136
+ - _target_: diffcsp.pl_data.dataset.CrystDataset
137
+ name: Formation energy test
138
+ path: ${data.root_path}/test.csv
139
+ save_path: ${data.root_path}/test_ori.pt
140
+ prop: ${data.prop}
141
+ niggli: ${data.niggli}
142
+ primitive: ${data.primitive}
143
+ graph_method: ${data.graph_method}
144
+ tolerance: ${data.tolerance}
145
+ use_space_group: ${data.use_space_group}
146
+ use_pos_index: ${data.use_pos_index}
147
+ lattice_scale_method: ${data.lattice_scale_method}
148
+ preprocess_workers: ${data.preprocess_workers}
149
+ train_md:
150
+ _target_: diffcsp.pl_data.dataset.CrystDataset
151
+ name: Formation energy train
152
+ path: ${data.root_path_md}/train.csv
153
+ save_path: ${data.root_path_md}/train_ori.pt
154
+ require_order: ${data.require_order}
155
+ prop: ${data.prop_md}
156
+ niggli: ${data.niggli}
157
+ primitive: ${data.primitive}
158
+ graph_method: ${data.graph_method}
159
+ tolerance: ${data.tolerance}
160
+ use_space_group: ${data.use_space_group}
161
+ use_pos_index: ${data.use_pos_index}
162
+ lattice_scale_method: ${data.lattice_scale_method}
163
+ preprocess_workers: ${data.preprocess_workers}
164
+ val_md:
165
+ - _target_: diffcsp.pl_data.dataset.CrystDataset
166
+ name: Formation energy val
167
+ path: ${data.root_path_md}/val.csv
168
+ save_path: ${data.root_path_md}/val_ori.pt
169
+ require_order: ${data.require_order}
170
+ prop: ${data.prop_md}
171
+ niggli: ${data.niggli}
172
+ primitive: ${data.primitive}
173
+ graph_method: ${data.graph_method}
174
+ tolerance: ${data.tolerance}
175
+ use_space_group: ${data.use_space_group}
176
+ use_pos_index: ${data.use_pos_index}
177
+ lattice_scale_method: ${data.lattice_scale_method}
178
+ preprocess_workers: ${data.preprocess_workers}
179
+ num_workers:
180
+ train: 40
181
+ val: 40
182
+ test: 40
183
+ batch_size:
184
+ train: 64
185
+ val: 64
186
+ test: 64
187
+ train_md: 64
188
+ val_md: 64
189
+ pin_memory: true
190
+ persistent_workers: false
191
+ prefetch_factor: 2
192
+ model:
193
+ w_csp: 0.95
194
+ w_pflow: 0.2
195
+ w_time: 0.1
196
+ cost_coord: 400.0
197
+ cost_lattice: 1.0
198
+ cost_type: 0.0
199
+ cost_energy: 1.0
200
+ cost_forces: 1.0
201
+ cost_stress: 1.0
202
+ affine_combine_costs: true
203
+ target_distribution: conditional
204
+ self_cond: false
205
+ t_pflow_clip: false
206
+ use_tangent: false
207
+ tclearn_freeze_epoch: 150
208
+ use_uns_flow_task: true
209
+ w_uns_flow: 0.02
210
+ w_consist: 0.5
211
+ uns_flow_tscale: true
212
+ uns_flow_tlearn: true
213
+ uns_path_refine: true
214
+ uns_path_t_clip: 0.9
215
+ use_consist_flow: true
216
+ consist_freeze_epoch: 249
217
+ uns_flow_freeze_epoch: 199
218
+ manifold_getter:
219
+ atom_type_manifold: null_manifold
220
+ coord_manifold: flat_torus_01
221
+ lattice_manifold: lattice_params
222
+ length_inner_coef: 1.0
223
+ vectorfield:
224
+ _target_: uniug.arch_uni.FlowmmUniModel
225
+ force_pred_way: direct
226
+ use_pflow_head: true
227
+ hidden_dim: 512
228
+ time_dim: 256
229
+ num_layers: 6
230
+ act_fn: silu
231
+ dis_emb: sin
232
+ num_freqs: 128
233
+ edge_style: fc
234
+ max_neighbors: 20
235
+ cutoff: 7.0
236
+ ln: true
237
+ use_log_map: true
238
+ dim_atomic_rep: ${get_dim_atomic_rep:${model.manifold_getter.atom_type_manifold}}
239
+ lattice_manifold: ${model.manifold_getter.lattice_manifold}
240
+ concat_sum_pool: true
241
+ represent_num_atoms: true
242
+ represent_angle_edge_to_lattice: true
243
+ self_edges: false
244
+ self_cond: ${model.self_cond}
245
+ t_mode: ${data.t_mode}
246
+ t_mask: -1.0
247
+ use_pflow_task: false
248
+ tlearn_clip: false
249
+ learnable_time_emb: false
ckpt/mp20_uns_PathRefine/.hydra/overrides.yaml ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ - data=mp20_mptsub
2
+ - data.md_dataset_name=mptsubmp20_uns_V0
3
+ - model=null_params_uni
4
+ - vectorfield=rfm_cspnet_uni
5
+ - train.pl_trainer.num_nodes=1
6
+ - train.pl_trainer.devices=8
7
+ - data.datamodule.batch_size.train=64
8
+ - data.datamodule.batch_size.train_md=64
9
+ - data.datamodule.batch_size.val=64
10
+ - data.datamodule.batch_size.val_md=64
11
+ - data.datamodule.batch_size.test=64
12
+ - logging.wandb.project=uniug_uni
13
+ - logging.wandb.experiment_name=mp20_uns_PathRefine_wuns0.02_wc0.5_e199_e249
14
+ - data.energy_only=True
15
+ - model.w_csp=0.95
16
+ - optim.optimizer.lr=0.0005
17
+ - train.pl_trainer.gradient_clip_val=10.0
18
+ - train.pl_trainer.gradient_clip_algorithm=norm
19
+ - data.t_mode=c_learn
20
+ - model.tclearn_freeze_epoch=150
21
+ - model.use_uns_flow_task=True
22
+ - vectorfield.use_pflow_head=True
23
+ - model.w_uns_flow=0.02
24
+ - model.uns_flow_tscale=True
25
+ - model.uns_flow_tlearn=True
26
+ - data.train_max_epochs=300
27
+ - logging.val_check_interval=10
28
+ - train.every_n_epochs_checkpoint.every_n_epochs=10
29
+ - model.uns_path_refine=True
30
+ - model.uns_flow_freeze_epoch=199
31
+ - model.use_consist_flow=True
32
+ - model.consist_freeze_epoch=249
33
+ - model.w_consist=0.5
34
+ - partial_ckpt_load=True
35
+ - partial_ckpt_path="/mnt/ai4sci_develop_fast/songyouli/crystal-uniug/runs/trash/uniug_uni/mp20_mptsub_uns_V0_tclearn_freeze_wcsp0.95/every_n_epochs/epoch=199-step=172600.ckpt"
ckpt/mp20_uns_PathRefine/every_n_epochs/epoch=299-step=87163.ckpt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d7fe702488b4f1ade82e7512afe9f1119678234444ec86f2c8e8e06c429458bc
3
+ size 227511350
ckpt/mp20_uns_PathRefine/hparams.yaml ADDED
@@ -0,0 +1,250 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ core:
2
+ version: ${get_flowmm_version:}
3
+ tags:
4
+ - ${now:%Y-%m-%d}
5
+ - ⚡️pytorch lightning
6
+ logging:
7
+ val_check_interval: 10
8
+ wandb:
9
+ project: uniug_uni
10
+ entity: null
11
+ log_model: true
12
+ mode: cloud
13
+ experiment_name: mp20_uns_PathRefine_wuns0.02_wc0.5_e199_e249
14
+ wandb_watch:
15
+ log: all
16
+ log_freq: 500
17
+ lr_monitor:
18
+ logging_interval: step
19
+ log_momentum: false
20
+ optim:
21
+ optimizer:
22
+ _target_: torch.optim.AdamW
23
+ lr: 0.0005
24
+ weight_decay: 0.0
25
+ lr_scheduler:
26
+ _target_: torch.optim.lr_scheduler.CosineAnnealingLR
27
+ T_max: ${data.train_max_epochs}
28
+ eta_min: 1.0e-05
29
+ interval: epoch
30
+ ema_decay: 0.999
31
+ train:
32
+ deterministic: warn
33
+ random_seed: 42
34
+ pl_trainer:
35
+ fast_dev_run: false
36
+ strategy: ddp_find_unused_parameters_true
37
+ num_nodes: 1
38
+ devices: 8
39
+ accelerator: gpu
40
+ precision: 32
41
+ max_epochs: ${data.train_max_epochs}
42
+ accumulate_grad_batches: 1
43
+ num_sanity_val_steps: 1
44
+ gradient_clip_val: 10.0
45
+ gradient_clip_algorithm: norm
46
+ profiler: simple
47
+ log_every_n_steps: 500
48
+ monitor_metric: val/loss_csp
49
+ monitor_metric_mode: min
50
+ model_checkpoints:
51
+ save_top_k: 1
52
+ verbose: false
53
+ save_last: false
54
+ every_n_epochs_checkpoint:
55
+ every_n_epochs: 10
56
+ save_top_k: -1
57
+ verbose: false
58
+ save_last: false
59
+ val:
60
+ compute_nll: false
61
+ test:
62
+ compute_nll: false
63
+ compute_loss: true
64
+ integrate:
65
+ div_mode: rademacher
66
+ method: euler
67
+ num_steps: 1000
68
+ normalize_loglik: true
69
+ inference_anneal_slope: 0.0
70
+ inference_anneal_offset: 0.0
71
+ base_distribution_from_data: false
72
+ partial_ckpt_load: true
73
+ partial_ckpt_path: /mnt/ai4sci_develop_fast/songyouli/crystal-uniug/runs/trash/uniug_uni/mp20_mptsub_uns_V0_tclearn_freeze_wcsp0.95/every_n_epochs/epoch=199-step=172600.ckpt
74
+ data:
75
+ dataset_name: mp_20
76
+ dim_coords: 3
77
+ root_path: ${oc.env:DATA_DIR}/mp_20
78
+ prop: formation_energy_per_atom
79
+ num_targets: 1
80
+ niggli: true
81
+ primitive: false
82
+ graph_method: crystalnn
83
+ lattice_scale_method: scale_length
84
+ preprocess_workers: 30
85
+ readout: mean
86
+ max_atoms: 20
87
+ otf_graph: false
88
+ eval_model_name: mp20
89
+ tolerance: 0.1
90
+ use_space_group: false
91
+ use_pos_index: false
92
+ train_max_epochs: 300
93
+ early_stopping_patience: 100000
94
+ teacher_forcing_max_epoch: 500
95
+ md_dataset_name: mptsubmp20_uns_V0
96
+ root_path_md: ${oc.env:DATA_DIR}/${data.md_dataset_name}
97
+ require_order: false
98
+ prop_md:
99
+ - energy
100
+ - forces
101
+ energy_only: true
102
+ t_mode: c_learn
103
+ t_constant: 1.0
104
+ datamodule:
105
+ _target_: uniug.datamodule_uni.CrystDataModule
106
+ task_mode: uni
107
+ datasets:
108
+ train:
109
+ _target_: diffcsp.pl_data.dataset.CrystDataset
110
+ name: Formation energy train
111
+ path: ${data.root_path}/train.csv
112
+ save_path: ${data.root_path}/train_ori.pt
113
+ prop: ${data.prop}
114
+ niggli: ${data.niggli}
115
+ primitive: ${data.primitive}
116
+ graph_method: ${data.graph_method}
117
+ tolerance: ${data.tolerance}
118
+ use_space_group: ${data.use_space_group}
119
+ use_pos_index: ${data.use_pos_index}
120
+ lattice_scale_method: ${data.lattice_scale_method}
121
+ preprocess_workers: ${data.preprocess_workers}
122
+ val:
123
+ - _target_: diffcsp.pl_data.dataset.CrystDataset
124
+ name: Formation energy val
125
+ path: ${data.root_path}/val.csv
126
+ save_path: ${data.root_path}/val_ori.pt
127
+ prop: ${data.prop}
128
+ niggli: ${data.niggli}
129
+ primitive: ${data.primitive}
130
+ graph_method: ${data.graph_method}
131
+ tolerance: ${data.tolerance}
132
+ use_space_group: ${data.use_space_group}
133
+ use_pos_index: ${data.use_pos_index}
134
+ lattice_scale_method: ${data.lattice_scale_method}
135
+ preprocess_workers: ${data.preprocess_workers}
136
+ test:
137
+ - _target_: diffcsp.pl_data.dataset.CrystDataset
138
+ name: Formation energy test
139
+ path: ${data.root_path}/test.csv
140
+ save_path: ${data.root_path}/test_ori.pt
141
+ prop: ${data.prop}
142
+ niggli: ${data.niggli}
143
+ primitive: ${data.primitive}
144
+ graph_method: ${data.graph_method}
145
+ tolerance: ${data.tolerance}
146
+ use_space_group: ${data.use_space_group}
147
+ use_pos_index: ${data.use_pos_index}
148
+ lattice_scale_method: ${data.lattice_scale_method}
149
+ preprocess_workers: ${data.preprocess_workers}
150
+ train_md:
151
+ _target_: diffcsp.pl_data.dataset.CrystDataset
152
+ name: Formation energy train
153
+ path: ${data.root_path_md}/train.csv
154
+ save_path: ${data.root_path_md}/train_ori.pt
155
+ require_order: ${data.require_order}
156
+ prop: ${data.prop_md}
157
+ niggli: ${data.niggli}
158
+ primitive: ${data.primitive}
159
+ graph_method: ${data.graph_method}
160
+ tolerance: ${data.tolerance}
161
+ use_space_group: ${data.use_space_group}
162
+ use_pos_index: ${data.use_pos_index}
163
+ lattice_scale_method: ${data.lattice_scale_method}
164
+ preprocess_workers: ${data.preprocess_workers}
165
+ val_md:
166
+ - _target_: diffcsp.pl_data.dataset.CrystDataset
167
+ name: Formation energy val
168
+ path: ${data.root_path_md}/val.csv
169
+ save_path: ${data.root_path_md}/val_ori.pt
170
+ require_order: ${data.require_order}
171
+ prop: ${data.prop_md}
172
+ niggli: ${data.niggli}
173
+ primitive: ${data.primitive}
174
+ graph_method: ${data.graph_method}
175
+ tolerance: ${data.tolerance}
176
+ use_space_group: ${data.use_space_group}
177
+ use_pos_index: ${data.use_pos_index}
178
+ lattice_scale_method: ${data.lattice_scale_method}
179
+ preprocess_workers: ${data.preprocess_workers}
180
+ num_workers:
181
+ train: 40
182
+ val: 40
183
+ test: 40
184
+ batch_size:
185
+ train: 64
186
+ val: 64
187
+ test: 64
188
+ train_md: 64
189
+ val_md: 64
190
+ pin_memory: true
191
+ persistent_workers: false
192
+ prefetch_factor: 2
193
+ model:
194
+ w_csp: 0.95
195
+ w_pflow: 0.2
196
+ w_time: 0.1
197
+ cost_coord: 400.0
198
+ cost_lattice: 1.0
199
+ cost_type: 0.0
200
+ cost_energy: 1.0
201
+ cost_forces: 1.0
202
+ cost_stress: 1.0
203
+ affine_combine_costs: true
204
+ target_distribution: conditional
205
+ self_cond: false
206
+ t_pflow_clip: false
207
+ use_tangent: false
208
+ tclearn_freeze_epoch: 150
209
+ use_uns_flow_task: true
210
+ w_uns_flow: 0.02
211
+ w_consist: 0.5
212
+ uns_flow_tscale: true
213
+ uns_flow_tlearn: true
214
+ uns_path_refine: true
215
+ uns_path_t_clip: 0.9
216
+ use_consist_flow: true
217
+ consist_freeze_epoch: 249
218
+ uns_flow_freeze_epoch: 199
219
+ manifold_getter:
220
+ atom_type_manifold: null_manifold
221
+ coord_manifold: flat_torus_01
222
+ lattice_manifold: lattice_params
223
+ length_inner_coef: 1.0
224
+ vectorfield:
225
+ _target_: uniug.arch_uni.FlowmmUniModel
226
+ force_pred_way: direct
227
+ use_pflow_head: true
228
+ hidden_dim: 512
229
+ time_dim: 256
230
+ num_layers: 6
231
+ act_fn: silu
232
+ dis_emb: sin
233
+ num_freqs: 128
234
+ edge_style: fc
235
+ max_neighbors: 20
236
+ cutoff: 7.0
237
+ ln: true
238
+ use_log_map: true
239
+ dim_atomic_rep: ${get_dim_atomic_rep:${model.manifold_getter.atom_type_manifold}}
240
+ lattice_manifold: ${model.manifold_getter.lattice_manifold}
241
+ concat_sum_pool: true
242
+ represent_num_atoms: true
243
+ represent_angle_edge_to_lattice: true
244
+ self_edges: false
245
+ self_cond: ${model.self_cond}
246
+ t_mode: ${data.t_mode}
247
+ t_mask: -1.0
248
+ use_pflow_task: false
249
+ tlearn_clip: false
250
+ learnable_time_emb: false
ckpt/mpts52_PathRefine/.hydra/config.yaml ADDED
@@ -0,0 +1,249 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ core:
2
+ version: ${get_flowmm_version:}
3
+ tags:
4
+ - ${now:%Y-%m-%d}
5
+ logging:
6
+ val_check_interval: 5
7
+ wandb:
8
+ project: uniug_uni
9
+ entity: null
10
+ log_model: true
11
+ mode: cloud
12
+ experiment_name: mpts52_PathRefine_wuns0.1_wc0.05_e109_e129
13
+ wandb_watch:
14
+ log: all
15
+ log_freq: 500
16
+ lr_monitor:
17
+ logging_interval: step
18
+ log_momentum: false
19
+ optim:
20
+ optimizer:
21
+ _target_: torch.optim.AdamW
22
+ lr: 0.0005
23
+ weight_decay: 0.0
24
+ lr_scheduler:
25
+ _target_: torch.optim.lr_scheduler.CosineAnnealingLR
26
+ T_max: ${data.train_max_epochs}
27
+ eta_min: 1.0e-05
28
+ interval: epoch
29
+ ema_decay: 0.999
30
+ train:
31
+ deterministic: warn
32
+ random_seed: 42
33
+ pl_trainer:
34
+ fast_dev_run: false
35
+ strategy: ddp_find_unused_parameters_true
36
+ num_nodes: 1
37
+ devices: 4
38
+ accelerator: gpu
39
+ precision: 32
40
+ max_epochs: ${data.train_max_epochs}
41
+ accumulate_grad_batches: 1
42
+ num_sanity_val_steps: 1
43
+ gradient_clip_val: 10.0
44
+ gradient_clip_algorithm: norm
45
+ profiler: simple
46
+ log_every_n_steps: 500
47
+ monitor_metric: val/loss_csp
48
+ monitor_metric_mode: min
49
+ model_checkpoints:
50
+ save_top_k: 1
51
+ verbose: false
52
+ save_last: false
53
+ every_n_epochs_checkpoint:
54
+ every_n_epochs: 5
55
+ save_top_k: -1
56
+ verbose: false
57
+ save_last: false
58
+ val:
59
+ compute_nll: false
60
+ test:
61
+ compute_nll: false
62
+ compute_loss: true
63
+ integrate:
64
+ div_mode: rademacher
65
+ method: euler
66
+ num_steps: 1000
67
+ normalize_loglik: true
68
+ inference_anneal_slope: 0.0
69
+ inference_anneal_offset: 0.0
70
+ base_distribution_from_data: false
71
+ partial_ckpt_load: true
72
+ partial_ckpt_path: /mnt/ai4sci_develop_fast/songyouli/crystal-uniug/runs/trash/uniug_uni/mpts52_PathRefine_wuns0.1_e109/every_n_epochs/epoch=129-step=80976.ckpt
73
+ data:
74
+ dataset_name: mpts_52
75
+ dim_coords: 3
76
+ root_path: ${oc.env:DATA_DIR}/mpts_52
77
+ prop: formation_energy_per_atom
78
+ num_targets: 1
79
+ niggli: true
80
+ primitive: false
81
+ graph_method: crystalnn
82
+ lattice_scale_method: scale_length
83
+ preprocess_workers: 30
84
+ readout: mean
85
+ max_atoms: 52
86
+ otf_graph: false
87
+ eval_model_name: mp20
88
+ tolerance: 0.1
89
+ use_space_group: false
90
+ use_pos_index: false
91
+ train_max_epochs: 150
92
+ early_stopping_patience: 100000
93
+ teacher_forcing_max_epoch: 300
94
+ md_dataset_name: mptsubmpts52
95
+ root_path_md: ${oc.env:DATA_DIR}/${data.md_dataset_name}
96
+ require_order: false
97
+ prop_md:
98
+ - energy
99
+ - forces
100
+ energy_only: true
101
+ t_mode: c_learn
102
+ t_constant: 1.0
103
+ datamodule:
104
+ _target_: uniug.datamodule_uni.CrystDataModule
105
+ task_mode: uni
106
+ datasets:
107
+ train:
108
+ _target_: diffcsp.pl_data.dataset.CrystDataset
109
+ name: Formation energy train
110
+ path: ${data.root_path}/train.csv
111
+ save_path: ${data.root_path}/train_ori.pt
112
+ prop: ${data.prop}
113
+ niggli: ${data.niggli}
114
+ primitive: ${data.primitive}
115
+ graph_method: ${data.graph_method}
116
+ tolerance: ${data.tolerance}
117
+ use_space_group: ${data.use_space_group}
118
+ use_pos_index: ${data.use_pos_index}
119
+ lattice_scale_method: ${data.lattice_scale_method}
120
+ preprocess_workers: ${data.preprocess_workers}
121
+ val:
122
+ - _target_: diffcsp.pl_data.dataset.CrystDataset
123
+ name: Formation energy val
124
+ path: ${data.root_path}/val.csv
125
+ save_path: ${data.root_path}/val_ori.pt
126
+ prop: ${data.prop}
127
+ niggli: ${data.niggli}
128
+ primitive: ${data.primitive}
129
+ graph_method: ${data.graph_method}
130
+ tolerance: ${data.tolerance}
131
+ use_space_group: ${data.use_space_group}
132
+ use_pos_index: ${data.use_pos_index}
133
+ lattice_scale_method: ${data.lattice_scale_method}
134
+ preprocess_workers: ${data.preprocess_workers}
135
+ test:
136
+ - _target_: diffcsp.pl_data.dataset.CrystDataset
137
+ name: Formation energy test
138
+ path: ${data.root_path}/test.csv
139
+ save_path: ${data.root_path}/test_ori.pt
140
+ prop: ${data.prop}
141
+ niggli: ${data.niggli}
142
+ primitive: ${data.primitive}
143
+ graph_method: ${data.graph_method}
144
+ tolerance: ${data.tolerance}
145
+ use_space_group: ${data.use_space_group}
146
+ use_pos_index: ${data.use_pos_index}
147
+ lattice_scale_method: ${data.lattice_scale_method}
148
+ preprocess_workers: ${data.preprocess_workers}
149
+ train_md:
150
+ _target_: diffcsp.pl_data.dataset.CrystDataset
151
+ name: Formation energy train
152
+ path: ${data.root_path_md}/train.csv
153
+ save_path: ${data.root_path_md}/train_ori.pt
154
+ require_order: ${data.require_order}
155
+ prop: ${data.prop_md}
156
+ niggli: ${data.niggli}
157
+ primitive: ${data.primitive}
158
+ graph_method: ${data.graph_method}
159
+ tolerance: ${data.tolerance}
160
+ use_space_group: ${data.use_space_group}
161
+ use_pos_index: ${data.use_pos_index}
162
+ lattice_scale_method: ${data.lattice_scale_method}
163
+ preprocess_workers: ${data.preprocess_workers}
164
+ val_md:
165
+ - _target_: diffcsp.pl_data.dataset.CrystDataset
166
+ name: Formation energy val
167
+ path: ${data.root_path_md}/val.csv
168
+ save_path: ${data.root_path_md}/val_ori.pt
169
+ require_order: ${data.require_order}
170
+ prop: ${data.prop_md}
171
+ niggli: ${data.niggli}
172
+ primitive: ${data.primitive}
173
+ graph_method: ${data.graph_method}
174
+ tolerance: ${data.tolerance}
175
+ use_space_group: ${data.use_space_group}
176
+ use_pos_index: ${data.use_pos_index}
177
+ lattice_scale_method: ${data.lattice_scale_method}
178
+ preprocess_workers: ${data.preprocess_workers}
179
+ num_workers:
180
+ train: 40
181
+ val: 40
182
+ test: 40
183
+ batch_size:
184
+ train: 32
185
+ val: 32
186
+ test: 32
187
+ train_md: 32
188
+ val_md: 32
189
+ pin_memory: true
190
+ persistent_workers: false
191
+ prefetch_factor: 2
192
+ model:
193
+ w_csp: 0.95
194
+ w_pflow: 0.2
195
+ w_time: 0.1
196
+ cost_coord: 400.0
197
+ cost_lattice: 1.0
198
+ cost_type: 0.0
199
+ cost_energy: 1.0
200
+ cost_forces: 1.0
201
+ cost_stress: 1.0
202
+ affine_combine_costs: true
203
+ target_distribution: conditional
204
+ self_cond: false
205
+ t_pflow_clip: false
206
+ use_tangent: false
207
+ tclearn_freeze_epoch: 75
208
+ use_uns_flow_task: true
209
+ w_uns_flow: 0.1
210
+ w_consist: 0.05
211
+ uns_flow_tscale: true
212
+ uns_flow_tlearn: true
213
+ uns_path_refine: true
214
+ uns_path_t_clip: 0.9
215
+ use_consist_flow: true
216
+ consist_freeze_epoch: 129
217
+ uns_flow_freeze_epoch: 109
218
+ manifold_getter:
219
+ atom_type_manifold: null_manifold
220
+ coord_manifold: flat_torus_01
221
+ lattice_manifold: lattice_params
222
+ length_inner_coef: 1.0
223
+ vectorfield:
224
+ _target_: uniug.arch_uni.FlowmmUniModel
225
+ force_pred_way: direct
226
+ use_pflow_head: true
227
+ hidden_dim: 512
228
+ time_dim: 256
229
+ num_layers: 6
230
+ act_fn: silu
231
+ dis_emb: sin
232
+ num_freqs: 128
233
+ edge_style: fc
234
+ max_neighbors: 20
235
+ cutoff: 7.0
236
+ ln: true
237
+ use_log_map: true
238
+ dim_atomic_rep: ${get_dim_atomic_rep:${model.manifold_getter.atom_type_manifold}}
239
+ lattice_manifold: ${model.manifold_getter.lattice_manifold}
240
+ concat_sum_pool: true
241
+ represent_num_atoms: true
242
+ represent_angle_edge_to_lattice: true
243
+ self_edges: false
244
+ self_cond: ${model.self_cond}
245
+ t_mode: ${data.t_mode}
246
+ t_mask: -1.0
247
+ use_pflow_task: false
248
+ tlearn_clip: false
249
+ learnable_time_emb: false
ckpt/mpts52_PathRefine/.hydra/overrides.yaml ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ - data=mpts52_mptsub
2
+ - model=null_params_uni
3
+ - vectorfield=rfm_cspnet_uni
4
+ - train.pl_trainer.num_nodes=1
5
+ - train.pl_trainer.devices=4
6
+ - data.datamodule.batch_size.train=32
7
+ - data.datamodule.batch_size.train_md=32
8
+ - data.datamodule.batch_size.val=32
9
+ - data.datamodule.batch_size.val_md=32
10
+ - data.datamodule.batch_size.test=32
11
+ - logging.wandb.project=uniug_uni
12
+ - logging.wandb.experiment_name=mpts52_PathRefine_wuns0.1_wc0.05_e109_e129
13
+ - data.energy_only=True
14
+ - model.w_csp=0.95
15
+ - optim.optimizer.lr=0.0005
16
+ - train.pl_trainer.gradient_clip_val=10.0
17
+ - train.pl_trainer.gradient_clip_algorithm=norm
18
+ - data.t_mode=c_learn
19
+ - model.tclearn_freeze_epoch=75
20
+ - model.use_uns_flow_task=True
21
+ - vectorfield.use_pflow_head=True
22
+ - model.w_uns_flow=0.1
23
+ - model.uns_flow_tscale=True
24
+ - model.uns_flow_tlearn=True
25
+ - data.train_max_epochs=150
26
+ - logging.val_check_interval=5
27
+ - train.every_n_epochs_checkpoint.every_n_epochs=5
28
+ - model.uns_path_refine=True
29
+ - model.uns_flow_freeze_epoch=109
30
+ - model.use_consist_flow=True
31
+ - model.consist_freeze_epoch=129
32
+ - model.w_consist=0.05
33
+ - partial_ckpt_load=True
34
+ - partial_ckpt_path="/mnt/ai4sci_develop_fast/songyouli/crystal-uniug/runs/trash/uniug_uni/mpts52_PathRefine_wuns0.1_e109/every_n_epochs/epoch=129-step=80976.ckpt"
ckpt/mpts52_PathRefine/every_n_epochs/epoch=149-step=80976.ckpt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:36b9a9c16997f269b118d13e32160a5247c7824d3cff6eabf1990144401076d0
3
+ size 227511350
ckpt/mpts52_PathRefine/hparams.yaml ADDED
@@ -0,0 +1,250 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ core:
2
+ version: ${get_flowmm_version:}
3
+ tags:
4
+ - ${now:%Y-%m-%d}
5
+ - ⚡️pytorch lightning
6
+ logging:
7
+ val_check_interval: 5
8
+ wandb:
9
+ project: uniug_uni
10
+ entity: null
11
+ log_model: true
12
+ mode: cloud
13
+ experiment_name: mpts52_PathRefine_wuns0.1_wc0.05_e109_e129
14
+ wandb_watch:
15
+ log: all
16
+ log_freq: 500
17
+ lr_monitor:
18
+ logging_interval: step
19
+ log_momentum: false
20
+ optim:
21
+ optimizer:
22
+ _target_: torch.optim.AdamW
23
+ lr: 0.0005
24
+ weight_decay: 0.0
25
+ lr_scheduler:
26
+ _target_: torch.optim.lr_scheduler.CosineAnnealingLR
27
+ T_max: ${data.train_max_epochs}
28
+ eta_min: 1.0e-05
29
+ interval: epoch
30
+ ema_decay: 0.999
31
+ train:
32
+ deterministic: warn
33
+ random_seed: 42
34
+ pl_trainer:
35
+ fast_dev_run: false
36
+ strategy: ddp_find_unused_parameters_true
37
+ num_nodes: 1
38
+ devices: 4
39
+ accelerator: gpu
40
+ precision: 32
41
+ max_epochs: ${data.train_max_epochs}
42
+ accumulate_grad_batches: 1
43
+ num_sanity_val_steps: 1
44
+ gradient_clip_val: 10.0
45
+ gradient_clip_algorithm: norm
46
+ profiler: simple
47
+ log_every_n_steps: 500
48
+ monitor_metric: val/loss_csp
49
+ monitor_metric_mode: min
50
+ model_checkpoints:
51
+ save_top_k: 1
52
+ verbose: false
53
+ save_last: false
54
+ every_n_epochs_checkpoint:
55
+ every_n_epochs: 5
56
+ save_top_k: -1
57
+ verbose: false
58
+ save_last: false
59
+ val:
60
+ compute_nll: false
61
+ test:
62
+ compute_nll: false
63
+ compute_loss: true
64
+ integrate:
65
+ div_mode: rademacher
66
+ method: euler
67
+ num_steps: 1000
68
+ normalize_loglik: true
69
+ inference_anneal_slope: 0.0
70
+ inference_anneal_offset: 0.0
71
+ base_distribution_from_data: false
72
+ partial_ckpt_load: true
73
+ partial_ckpt_path: /mnt/ai4sci_develop_fast/songyouli/crystal-uniug/runs/trash/uniug_uni/mpts52_PathRefine_wuns0.1_e109/every_n_epochs/epoch=129-step=80976.ckpt
74
+ data:
75
+ dataset_name: mpts_52
76
+ dim_coords: 3
77
+ root_path: ${oc.env:DATA_DIR}/mpts_52
78
+ prop: formation_energy_per_atom
79
+ num_targets: 1
80
+ niggli: true
81
+ primitive: false
82
+ graph_method: crystalnn
83
+ lattice_scale_method: scale_length
84
+ preprocess_workers: 30
85
+ readout: mean
86
+ max_atoms: 52
87
+ otf_graph: false
88
+ eval_model_name: mp20
89
+ tolerance: 0.1
90
+ use_space_group: false
91
+ use_pos_index: false
92
+ train_max_epochs: 150
93
+ early_stopping_patience: 100000
94
+ teacher_forcing_max_epoch: 300
95
+ md_dataset_name: mptsubmpts52
96
+ root_path_md: ${oc.env:DATA_DIR}/${data.md_dataset_name}
97
+ require_order: false
98
+ prop_md:
99
+ - energy
100
+ - forces
101
+ energy_only: true
102
+ t_mode: c_learn
103
+ t_constant: 1.0
104
+ datamodule:
105
+ _target_: uniug.datamodule_uni.CrystDataModule
106
+ task_mode: uni
107
+ datasets:
108
+ train:
109
+ _target_: diffcsp.pl_data.dataset.CrystDataset
110
+ name: Formation energy train
111
+ path: ${data.root_path}/train.csv
112
+ save_path: ${data.root_path}/train_ori.pt
113
+ prop: ${data.prop}
114
+ niggli: ${data.niggli}
115
+ primitive: ${data.primitive}
116
+ graph_method: ${data.graph_method}
117
+ tolerance: ${data.tolerance}
118
+ use_space_group: ${data.use_space_group}
119
+ use_pos_index: ${data.use_pos_index}
120
+ lattice_scale_method: ${data.lattice_scale_method}
121
+ preprocess_workers: ${data.preprocess_workers}
122
+ val:
123
+ - _target_: diffcsp.pl_data.dataset.CrystDataset
124
+ name: Formation energy val
125
+ path: ${data.root_path}/val.csv
126
+ save_path: ${data.root_path}/val_ori.pt
127
+ prop: ${data.prop}
128
+ niggli: ${data.niggli}
129
+ primitive: ${data.primitive}
130
+ graph_method: ${data.graph_method}
131
+ tolerance: ${data.tolerance}
132
+ use_space_group: ${data.use_space_group}
133
+ use_pos_index: ${data.use_pos_index}
134
+ lattice_scale_method: ${data.lattice_scale_method}
135
+ preprocess_workers: ${data.preprocess_workers}
136
+ test:
137
+ - _target_: diffcsp.pl_data.dataset.CrystDataset
138
+ name: Formation energy test
139
+ path: ${data.root_path}/test.csv
140
+ save_path: ${data.root_path}/test_ori.pt
141
+ prop: ${data.prop}
142
+ niggli: ${data.niggli}
143
+ primitive: ${data.primitive}
144
+ graph_method: ${data.graph_method}
145
+ tolerance: ${data.tolerance}
146
+ use_space_group: ${data.use_space_group}
147
+ use_pos_index: ${data.use_pos_index}
148
+ lattice_scale_method: ${data.lattice_scale_method}
149
+ preprocess_workers: ${data.preprocess_workers}
150
+ train_md:
151
+ _target_: diffcsp.pl_data.dataset.CrystDataset
152
+ name: Formation energy train
153
+ path: ${data.root_path_md}/train.csv
154
+ save_path: ${data.root_path_md}/train_ori.pt
155
+ require_order: ${data.require_order}
156
+ prop: ${data.prop_md}
157
+ niggli: ${data.niggli}
158
+ primitive: ${data.primitive}
159
+ graph_method: ${data.graph_method}
160
+ tolerance: ${data.tolerance}
161
+ use_space_group: ${data.use_space_group}
162
+ use_pos_index: ${data.use_pos_index}
163
+ lattice_scale_method: ${data.lattice_scale_method}
164
+ preprocess_workers: ${data.preprocess_workers}
165
+ val_md:
166
+ - _target_: diffcsp.pl_data.dataset.CrystDataset
167
+ name: Formation energy val
168
+ path: ${data.root_path_md}/val.csv
169
+ save_path: ${data.root_path_md}/val_ori.pt
170
+ require_order: ${data.require_order}
171
+ prop: ${data.prop_md}
172
+ niggli: ${data.niggli}
173
+ primitive: ${data.primitive}
174
+ graph_method: ${data.graph_method}
175
+ tolerance: ${data.tolerance}
176
+ use_space_group: ${data.use_space_group}
177
+ use_pos_index: ${data.use_pos_index}
178
+ lattice_scale_method: ${data.lattice_scale_method}
179
+ preprocess_workers: ${data.preprocess_workers}
180
+ num_workers:
181
+ train: 40
182
+ val: 40
183
+ test: 40
184
+ batch_size:
185
+ train: 32
186
+ val: 32
187
+ test: 32
188
+ train_md: 32
189
+ val_md: 32
190
+ pin_memory: true
191
+ persistent_workers: false
192
+ prefetch_factor: 2
193
+ model:
194
+ w_csp: 0.95
195
+ w_pflow: 0.2
196
+ w_time: 0.1
197
+ cost_coord: 400.0
198
+ cost_lattice: 1.0
199
+ cost_type: 0.0
200
+ cost_energy: 1.0
201
+ cost_forces: 1.0
202
+ cost_stress: 1.0
203
+ affine_combine_costs: true
204
+ target_distribution: conditional
205
+ self_cond: false
206
+ t_pflow_clip: false
207
+ use_tangent: false
208
+ tclearn_freeze_epoch: 75
209
+ use_uns_flow_task: true
210
+ w_uns_flow: 0.1
211
+ w_consist: 0.05
212
+ uns_flow_tscale: true
213
+ uns_flow_tlearn: true
214
+ uns_path_refine: true
215
+ uns_path_t_clip: 0.9
216
+ use_consist_flow: true
217
+ consist_freeze_epoch: 129
218
+ uns_flow_freeze_epoch: 109
219
+ manifold_getter:
220
+ atom_type_manifold: null_manifold
221
+ coord_manifold: flat_torus_01
222
+ lattice_manifold: lattice_params
223
+ length_inner_coef: 1.0
224
+ vectorfield:
225
+ _target_: uniug.arch_uni.FlowmmUniModel
226
+ force_pred_way: direct
227
+ use_pflow_head: true
228
+ hidden_dim: 512
229
+ time_dim: 256
230
+ num_layers: 6
231
+ act_fn: silu
232
+ dis_emb: sin
233
+ num_freqs: 128
234
+ edge_style: fc
235
+ max_neighbors: 20
236
+ cutoff: 7.0
237
+ ln: true
238
+ use_log_map: true
239
+ dim_atomic_rep: ${get_dim_atomic_rep:${model.manifold_getter.atom_type_manifold}}
240
+ lattice_manifold: ${model.manifold_getter.lattice_manifold}
241
+ concat_sum_pool: true
242
+ represent_num_atoms: true
243
+ represent_angle_edge_to_lattice: true
244
+ self_edges: false
245
+ self_cond: ${model.self_cond}
246
+ t_mode: ${data.t_mode}
247
+ t_mask: -1.0
248
+ use_pflow_task: false
249
+ tlearn_clip: false
250
+ learnable_time_emb: false
ckpt/mpts52_uns_PathRefine/.hydra/config.yaml ADDED
@@ -0,0 +1,249 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ core:
2
+ version: ${get_flowmm_version:}
3
+ tags:
4
+ - ${now:%Y-%m-%d}
5
+ logging:
6
+ val_check_interval: 5
7
+ wandb:
8
+ project: uniug_uni
9
+ entity: null
10
+ log_model: true
11
+ mode: cloud
12
+ experiment_name: mpts52_uns_PathRefine_wuns0.02_wc0.02_e109_e129
13
+ wandb_watch:
14
+ log: all
15
+ log_freq: 500
16
+ lr_monitor:
17
+ logging_interval: step
18
+ log_momentum: false
19
+ optim:
20
+ optimizer:
21
+ _target_: torch.optim.AdamW
22
+ lr: 0.0005
23
+ weight_decay: 0.0
24
+ lr_scheduler:
25
+ _target_: torch.optim.lr_scheduler.CosineAnnealingLR
26
+ T_max: ${data.train_max_epochs}
27
+ eta_min: 1.0e-05
28
+ interval: epoch
29
+ ema_decay: 0.999
30
+ train:
31
+ deterministic: warn
32
+ random_seed: 42
33
+ pl_trainer:
34
+ fast_dev_run: false
35
+ strategy: ddp_find_unused_parameters_true
36
+ num_nodes: 1
37
+ devices: 4
38
+ accelerator: gpu
39
+ precision: 32
40
+ max_epochs: ${data.train_max_epochs}
41
+ accumulate_grad_batches: 1
42
+ num_sanity_val_steps: 1
43
+ gradient_clip_val: 10.0
44
+ gradient_clip_algorithm: norm
45
+ profiler: simple
46
+ log_every_n_steps: 500
47
+ monitor_metric: val/loss_csp
48
+ monitor_metric_mode: min
49
+ model_checkpoints:
50
+ save_top_k: 1
51
+ verbose: false
52
+ save_last: false
53
+ every_n_epochs_checkpoint:
54
+ every_n_epochs: 5
55
+ save_top_k: -1
56
+ verbose: false
57
+ save_last: false
58
+ val:
59
+ compute_nll: false
60
+ test:
61
+ compute_nll: false
62
+ compute_loss: true
63
+ integrate:
64
+ div_mode: rademacher
65
+ method: euler
66
+ num_steps: 1000
67
+ normalize_loglik: true
68
+ inference_anneal_slope: 0.0
69
+ inference_anneal_offset: 0.0
70
+ base_distribution_from_data: false
71
+ partial_ckpt_load: true
72
+ partial_ckpt_path: /mnt/ai4sci_develop_fast/songyouli/crystal-uniug/runs/trash/uniug_uni/mpts52_uns_PathRefine_wuns0.02_e109/every_n_epochs/epoch=129-step=36225.ckpt
73
+ data:
74
+ dataset_name: mpts_52
75
+ dim_coords: 3
76
+ root_path: ${oc.env:DATA_DIR}/mpts_52
77
+ prop: formation_energy_per_atom
78
+ num_targets: 1
79
+ niggli: true
80
+ primitive: false
81
+ graph_method: crystalnn
82
+ lattice_scale_method: scale_length
83
+ preprocess_workers: 30
84
+ readout: mean
85
+ max_atoms: 52
86
+ otf_graph: false
87
+ eval_model_name: mp20
88
+ tolerance: 0.1
89
+ use_space_group: false
90
+ use_pos_index: false
91
+ train_max_epochs: 150
92
+ early_stopping_patience: 100000
93
+ teacher_forcing_max_epoch: 300
94
+ md_dataset_name: mptsubmpts52_uns_V0
95
+ root_path_md: ${oc.env:DATA_DIR}/${data.md_dataset_name}
96
+ require_order: false
97
+ prop_md:
98
+ - energy
99
+ - forces
100
+ energy_only: true
101
+ t_mode: c_learn
102
+ t_constant: 1.0
103
+ datamodule:
104
+ _target_: uniug.datamodule_uni.CrystDataModule
105
+ task_mode: uni
106
+ datasets:
107
+ train:
108
+ _target_: diffcsp.pl_data.dataset.CrystDataset
109
+ name: Formation energy train
110
+ path: ${data.root_path}/train.csv
111
+ save_path: ${data.root_path}/train_ori.pt
112
+ prop: ${data.prop}
113
+ niggli: ${data.niggli}
114
+ primitive: ${data.primitive}
115
+ graph_method: ${data.graph_method}
116
+ tolerance: ${data.tolerance}
117
+ use_space_group: ${data.use_space_group}
118
+ use_pos_index: ${data.use_pos_index}
119
+ lattice_scale_method: ${data.lattice_scale_method}
120
+ preprocess_workers: ${data.preprocess_workers}
121
+ val:
122
+ - _target_: diffcsp.pl_data.dataset.CrystDataset
123
+ name: Formation energy val
124
+ path: ${data.root_path}/val.csv
125
+ save_path: ${data.root_path}/val_ori.pt
126
+ prop: ${data.prop}
127
+ niggli: ${data.niggli}
128
+ primitive: ${data.primitive}
129
+ graph_method: ${data.graph_method}
130
+ tolerance: ${data.tolerance}
131
+ use_space_group: ${data.use_space_group}
132
+ use_pos_index: ${data.use_pos_index}
133
+ lattice_scale_method: ${data.lattice_scale_method}
134
+ preprocess_workers: ${data.preprocess_workers}
135
+ test:
136
+ - _target_: diffcsp.pl_data.dataset.CrystDataset
137
+ name: Formation energy test
138
+ path: ${data.root_path}/test.csv
139
+ save_path: ${data.root_path}/test_ori.pt
140
+ prop: ${data.prop}
141
+ niggli: ${data.niggli}
142
+ primitive: ${data.primitive}
143
+ graph_method: ${data.graph_method}
144
+ tolerance: ${data.tolerance}
145
+ use_space_group: ${data.use_space_group}
146
+ use_pos_index: ${data.use_pos_index}
147
+ lattice_scale_method: ${data.lattice_scale_method}
148
+ preprocess_workers: ${data.preprocess_workers}
149
+ train_md:
150
+ _target_: diffcsp.pl_data.dataset.CrystDataset
151
+ name: Formation energy train
152
+ path: ${data.root_path_md}/train.csv
153
+ save_path: ${data.root_path_md}/train_ori.pt
154
+ require_order: ${data.require_order}
155
+ prop: ${data.prop_md}
156
+ niggli: ${data.niggli}
157
+ primitive: ${data.primitive}
158
+ graph_method: ${data.graph_method}
159
+ tolerance: ${data.tolerance}
160
+ use_space_group: ${data.use_space_group}
161
+ use_pos_index: ${data.use_pos_index}
162
+ lattice_scale_method: ${data.lattice_scale_method}
163
+ preprocess_workers: ${data.preprocess_workers}
164
+ val_md:
165
+ - _target_: diffcsp.pl_data.dataset.CrystDataset
166
+ name: Formation energy val
167
+ path: ${data.root_path_md}/val.csv
168
+ save_path: ${data.root_path_md}/val_ori.pt
169
+ require_order: ${data.require_order}
170
+ prop: ${data.prop_md}
171
+ niggli: ${data.niggli}
172
+ primitive: ${data.primitive}
173
+ graph_method: ${data.graph_method}
174
+ tolerance: ${data.tolerance}
175
+ use_space_group: ${data.use_space_group}
176
+ use_pos_index: ${data.use_pos_index}
177
+ lattice_scale_method: ${data.lattice_scale_method}
178
+ preprocess_workers: ${data.preprocess_workers}
179
+ num_workers:
180
+ train: 40
181
+ val: 40
182
+ test: 40
183
+ batch_size:
184
+ train: 64
185
+ val: 64
186
+ test: 64
187
+ train_md: 64
188
+ val_md: 64
189
+ pin_memory: true
190
+ persistent_workers: false
191
+ prefetch_factor: 2
192
+ model:
193
+ w_csp: 0.95
194
+ w_pflow: 0.2
195
+ w_time: 0.1
196
+ cost_coord: 400.0
197
+ cost_lattice: 1.0
198
+ cost_type: 0.0
199
+ cost_energy: 1.0
200
+ cost_forces: 1.0
201
+ cost_stress: 1.0
202
+ affine_combine_costs: true
203
+ target_distribution: conditional
204
+ self_cond: false
205
+ t_pflow_clip: false
206
+ use_tangent: false
207
+ tclearn_freeze_epoch: 75
208
+ use_uns_flow_task: true
209
+ w_uns_flow: 0.02
210
+ w_consist: 0.02
211
+ uns_flow_tscale: true
212
+ uns_flow_tlearn: true
213
+ uns_path_refine: true
214
+ uns_path_t_clip: 0.9
215
+ use_consist_flow: true
216
+ consist_freeze_epoch: 129
217
+ uns_flow_freeze_epoch: 109
218
+ manifold_getter:
219
+ atom_type_manifold: null_manifold
220
+ coord_manifold: flat_torus_01
221
+ lattice_manifold: lattice_params
222
+ length_inner_coef: 1.0
223
+ vectorfield:
224
+ _target_: uniug.arch_uni.FlowmmUniModel
225
+ force_pred_way: direct
226
+ use_pflow_head: true
227
+ hidden_dim: 512
228
+ time_dim: 256
229
+ num_layers: 6
230
+ act_fn: silu
231
+ dis_emb: sin
232
+ num_freqs: 128
233
+ edge_style: fc
234
+ max_neighbors: 20
235
+ cutoff: 7.0
236
+ ln: true
237
+ use_log_map: true
238
+ dim_atomic_rep: ${get_dim_atomic_rep:${model.manifold_getter.atom_type_manifold}}
239
+ lattice_manifold: ${model.manifold_getter.lattice_manifold}
240
+ concat_sum_pool: true
241
+ represent_num_atoms: true
242
+ represent_angle_edge_to_lattice: true
243
+ self_edges: false
244
+ self_cond: ${model.self_cond}
245
+ t_mode: ${data.t_mode}
246
+ t_mask: -1.0
247
+ use_pflow_task: false
248
+ tlearn_clip: false
249
+ learnable_time_emb: false
ckpt/mpts52_uns_PathRefine/.hydra/overrides.yaml ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ - data=mpts52_mptsub
2
+ - data.md_dataset_name=mptsubmpts52_uns_V0
3
+ - model=null_params_uni
4
+ - vectorfield=rfm_cspnet_uni
5
+ - train.pl_trainer.num_nodes=1
6
+ - train.pl_trainer.devices=4
7
+ - data.datamodule.batch_size.train=64
8
+ - data.datamodule.batch_size.train_md=64
9
+ - data.datamodule.batch_size.val=64
10
+ - data.datamodule.batch_size.val_md=64
11
+ - data.datamodule.batch_size.test=64
12
+ - logging.wandb.project=uniug_uni
13
+ - logging.wandb.experiment_name=mpts52_uns_PathRefine_wuns0.02_wc0.02_e109_e129
14
+ - data.energy_only=True
15
+ - model.w_csp=0.95
16
+ - optim.optimizer.lr=0.0005
17
+ - train.pl_trainer.gradient_clip_val=10.0
18
+ - train.pl_trainer.gradient_clip_algorithm=norm
19
+ - data.t_mode=c_learn
20
+ - model.tclearn_freeze_epoch=75
21
+ - model.use_uns_flow_task=True
22
+ - vectorfield.use_pflow_head=True
23
+ - model.w_uns_flow=0.02
24
+ - model.uns_flow_tscale=True
25
+ - model.uns_flow_tlearn=True
26
+ - data.train_max_epochs=150
27
+ - logging.val_check_interval=5
28
+ - train.every_n_epochs_checkpoint.every_n_epochs=5
29
+ - model.uns_path_refine=True
30
+ - model.uns_flow_freeze_epoch=109
31
+ - model.use_consist_flow=True
32
+ - model.consist_freeze_epoch=129
33
+ - model.w_consist=0.02
34
+ - partial_ckpt_load=True
35
+ - partial_ckpt_path="/mnt/ai4sci_develop_fast/songyouli/crystal-uniug/runs/trash/uniug_uni/mpts52_uns_PathRefine_wuns0.02_e109/every_n_epochs/epoch=129-step=36225.ckpt"
ckpt/mpts52_uns_PathRefine/every_n_epochs/epoch=149-step=36225.ckpt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:90605d9e8308da574b5d2fd815371dfec7de74b976dd967b6993e702c3b4e86d
3
+ size 227511286
ckpt/mpts52_uns_PathRefine/hparams.yaml ADDED
@@ -0,0 +1,250 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ core:
2
+ version: ${get_flowmm_version:}
3
+ tags:
4
+ - ${now:%Y-%m-%d}
5
+ - ⚡️pytorch lightning
6
+ logging:
7
+ val_check_interval: 5
8
+ wandb:
9
+ project: uniug_uni
10
+ entity: null
11
+ log_model: true
12
+ mode: cloud
13
+ experiment_name: mpts52_uns_PathRefine_wuns0.02_wc0.02_e109_e129
14
+ wandb_watch:
15
+ log: all
16
+ log_freq: 500
17
+ lr_monitor:
18
+ logging_interval: step
19
+ log_momentum: false
20
+ optim:
21
+ optimizer:
22
+ _target_: torch.optim.AdamW
23
+ lr: 0.0005
24
+ weight_decay: 0.0
25
+ lr_scheduler:
26
+ _target_: torch.optim.lr_scheduler.CosineAnnealingLR
27
+ T_max: ${data.train_max_epochs}
28
+ eta_min: 1.0e-05
29
+ interval: epoch
30
+ ema_decay: 0.999
31
+ train:
32
+ deterministic: warn
33
+ random_seed: 42
34
+ pl_trainer:
35
+ fast_dev_run: false
36
+ strategy: ddp_find_unused_parameters_true
37
+ num_nodes: 1
38
+ devices: 4
39
+ accelerator: gpu
40
+ precision: 32
41
+ max_epochs: ${data.train_max_epochs}
42
+ accumulate_grad_batches: 1
43
+ num_sanity_val_steps: 1
44
+ gradient_clip_val: 10.0
45
+ gradient_clip_algorithm: norm
46
+ profiler: simple
47
+ log_every_n_steps: 500
48
+ monitor_metric: val/loss_csp
49
+ monitor_metric_mode: min
50
+ model_checkpoints:
51
+ save_top_k: 1
52
+ verbose: false
53
+ save_last: false
54
+ every_n_epochs_checkpoint:
55
+ every_n_epochs: 5
56
+ save_top_k: -1
57
+ verbose: false
58
+ save_last: false
59
+ val:
60
+ compute_nll: false
61
+ test:
62
+ compute_nll: false
63
+ compute_loss: true
64
+ integrate:
65
+ div_mode: rademacher
66
+ method: euler
67
+ num_steps: 1000
68
+ normalize_loglik: true
69
+ inference_anneal_slope: 0.0
70
+ inference_anneal_offset: 0.0
71
+ base_distribution_from_data: false
72
+ partial_ckpt_load: true
73
+ partial_ckpt_path: /mnt/ai4sci_develop_fast/songyouli/crystal-uniug/runs/trash/uniug_uni/mpts52_uns_PathRefine_wuns0.02_e109/every_n_epochs/epoch=129-step=36225.ckpt
74
+ data:
75
+ dataset_name: mpts_52
76
+ dim_coords: 3
77
+ root_path: ${oc.env:DATA_DIR}/mpts_52
78
+ prop: formation_energy_per_atom
79
+ num_targets: 1
80
+ niggli: true
81
+ primitive: false
82
+ graph_method: crystalnn
83
+ lattice_scale_method: scale_length
84
+ preprocess_workers: 30
85
+ readout: mean
86
+ max_atoms: 52
87
+ otf_graph: false
88
+ eval_model_name: mp20
89
+ tolerance: 0.1
90
+ use_space_group: false
91
+ use_pos_index: false
92
+ train_max_epochs: 150
93
+ early_stopping_patience: 100000
94
+ teacher_forcing_max_epoch: 300
95
+ md_dataset_name: mptsubmpts52_uns_V0
96
+ root_path_md: ${oc.env:DATA_DIR}/${data.md_dataset_name}
97
+ require_order: false
98
+ prop_md:
99
+ - energy
100
+ - forces
101
+ energy_only: true
102
+ t_mode: c_learn
103
+ t_constant: 1.0
104
+ datamodule:
105
+ _target_: uniug.datamodule_uni.CrystDataModule
106
+ task_mode: uni
107
+ datasets:
108
+ train:
109
+ _target_: diffcsp.pl_data.dataset.CrystDataset
110
+ name: Formation energy train
111
+ path: ${data.root_path}/train.csv
112
+ save_path: ${data.root_path}/train_ori.pt
113
+ prop: ${data.prop}
114
+ niggli: ${data.niggli}
115
+ primitive: ${data.primitive}
116
+ graph_method: ${data.graph_method}
117
+ tolerance: ${data.tolerance}
118
+ use_space_group: ${data.use_space_group}
119
+ use_pos_index: ${data.use_pos_index}
120
+ lattice_scale_method: ${data.lattice_scale_method}
121
+ preprocess_workers: ${data.preprocess_workers}
122
+ val:
123
+ - _target_: diffcsp.pl_data.dataset.CrystDataset
124
+ name: Formation energy val
125
+ path: ${data.root_path}/val.csv
126
+ save_path: ${data.root_path}/val_ori.pt
127
+ prop: ${data.prop}
128
+ niggli: ${data.niggli}
129
+ primitive: ${data.primitive}
130
+ graph_method: ${data.graph_method}
131
+ tolerance: ${data.tolerance}
132
+ use_space_group: ${data.use_space_group}
133
+ use_pos_index: ${data.use_pos_index}
134
+ lattice_scale_method: ${data.lattice_scale_method}
135
+ preprocess_workers: ${data.preprocess_workers}
136
+ test:
137
+ - _target_: diffcsp.pl_data.dataset.CrystDataset
138
+ name: Formation energy test
139
+ path: ${data.root_path}/test.csv
140
+ save_path: ${data.root_path}/test_ori.pt
141
+ prop: ${data.prop}
142
+ niggli: ${data.niggli}
143
+ primitive: ${data.primitive}
144
+ graph_method: ${data.graph_method}
145
+ tolerance: ${data.tolerance}
146
+ use_space_group: ${data.use_space_group}
147
+ use_pos_index: ${data.use_pos_index}
148
+ lattice_scale_method: ${data.lattice_scale_method}
149
+ preprocess_workers: ${data.preprocess_workers}
150
+ train_md:
151
+ _target_: diffcsp.pl_data.dataset.CrystDataset
152
+ name: Formation energy train
153
+ path: ${data.root_path_md}/train.csv
154
+ save_path: ${data.root_path_md}/train_ori.pt
155
+ require_order: ${data.require_order}
156
+ prop: ${data.prop_md}
157
+ niggli: ${data.niggli}
158
+ primitive: ${data.primitive}
159
+ graph_method: ${data.graph_method}
160
+ tolerance: ${data.tolerance}
161
+ use_space_group: ${data.use_space_group}
162
+ use_pos_index: ${data.use_pos_index}
163
+ lattice_scale_method: ${data.lattice_scale_method}
164
+ preprocess_workers: ${data.preprocess_workers}
165
+ val_md:
166
+ - _target_: diffcsp.pl_data.dataset.CrystDataset
167
+ name: Formation energy val
168
+ path: ${data.root_path_md}/val.csv
169
+ save_path: ${data.root_path_md}/val_ori.pt
170
+ require_order: ${data.require_order}
171
+ prop: ${data.prop_md}
172
+ niggli: ${data.niggli}
173
+ primitive: ${data.primitive}
174
+ graph_method: ${data.graph_method}
175
+ tolerance: ${data.tolerance}
176
+ use_space_group: ${data.use_space_group}
177
+ use_pos_index: ${data.use_pos_index}
178
+ lattice_scale_method: ${data.lattice_scale_method}
179
+ preprocess_workers: ${data.preprocess_workers}
180
+ num_workers:
181
+ train: 40
182
+ val: 40
183
+ test: 40
184
+ batch_size:
185
+ train: 64
186
+ val: 64
187
+ test: 64
188
+ train_md: 64
189
+ val_md: 64
190
+ pin_memory: true
191
+ persistent_workers: false
192
+ prefetch_factor: 2
193
+ model:
194
+ w_csp: 0.95
195
+ w_pflow: 0.2
196
+ w_time: 0.1
197
+ cost_coord: 400.0
198
+ cost_lattice: 1.0
199
+ cost_type: 0.0
200
+ cost_energy: 1.0
201
+ cost_forces: 1.0
202
+ cost_stress: 1.0
203
+ affine_combine_costs: true
204
+ target_distribution: conditional
205
+ self_cond: false
206
+ t_pflow_clip: false
207
+ use_tangent: false
208
+ tclearn_freeze_epoch: 75
209
+ use_uns_flow_task: true
210
+ w_uns_flow: 0.02
211
+ w_consist: 0.02
212
+ uns_flow_tscale: true
213
+ uns_flow_tlearn: true
214
+ uns_path_refine: true
215
+ uns_path_t_clip: 0.9
216
+ use_consist_flow: true
217
+ consist_freeze_epoch: 129
218
+ uns_flow_freeze_epoch: 109
219
+ manifold_getter:
220
+ atom_type_manifold: null_manifold
221
+ coord_manifold: flat_torus_01
222
+ lattice_manifold: lattice_params
223
+ length_inner_coef: 1.0
224
+ vectorfield:
225
+ _target_: uniug.arch_uni.FlowmmUniModel
226
+ force_pred_way: direct
227
+ use_pflow_head: true
228
+ hidden_dim: 512
229
+ time_dim: 256
230
+ num_layers: 6
231
+ act_fn: silu
232
+ dis_emb: sin
233
+ num_freqs: 128
234
+ edge_style: fc
235
+ max_neighbors: 20
236
+ cutoff: 7.0
237
+ ln: true
238
+ use_log_map: true
239
+ dim_atomic_rep: ${get_dim_atomic_rep:${model.manifold_getter.atom_type_manifold}}
240
+ lattice_manifold: ${model.manifold_getter.lattice_manifold}
241
+ concat_sum_pool: true
242
+ represent_num_atoms: true
243
+ represent_angle_edge_to_lattice: true
244
+ self_edges: false
245
+ self_cond: ${model.self_cond}
246
+ t_mode: ${data.t_mode}
247
+ t_mask: -1.0
248
+ use_pflow_task: false
249
+ tlearn_clip: false
250
+ learnable_time_emb: false