diff --git a/README.md b/README.md new file mode 100644 index 0000000000000000000000000000000000000000..4214561c8bd549fd82e54d8347fc6d67fb0f133c --- /dev/null +++ b/README.md @@ -0,0 +1,80 @@ +--- +license: mit +tags: + - chemistry + - electron-density + - flow-matching + - equivariant-neural-networks + - qm9 +datasets: + - divelab/OrbFlow-data +--- + +# OrbFlow checkpoints + +Trained checkpoints for **OrbFlow**, which predicts atomic-orbital expansion coefficients (and the resulting +electron density) with equivariant flow matching. + +- Code: https://github.com/TODO/OrbFlow +- Data: [divelab/OrbFlow-data](https://huggingface.co/datasets/divelab/OrbFlow-data) +- Paper: TODO + +## Contents + +Each folder is one training run with its **best-validation checkpoint**, `config.yaml` and `metadata.json`. +Optimizer state has been removed, so these files are for evaluation and inference; they cannot resume training. + +| Folder | Model | Seeds | Checkpoint size | +|--------|-------|-------|-----------------| +| `qm9_qhf_eqv3_gt_2ph_final`, `…_s42`, `…_s123` | QM9: EquiformerV3, 8 layers, ℓmax = 6; 75k endpoint → 450k integrated-density training | 0, 42, 123 | 1.2 GB | +| `md__k3l3_slim_10k100k`, `…_seed42`, `…_seed505` | MD: slim EquiformerV3, 3 layers, ℓmax = 3; 10k → 110k | 0, 42, 505 | 155 MB | + +MD molecules: benzene, ethane, ethanol, malonaldehyde, phenol, resorcinol. +The seed-505 phenol and resorcinol runs stopped at ~60k of their 110k training steps (job time limit); their best-validation checkpoints are from step ~60k. + +## Usage + +Download into the root of the OrbFlow code repository, so the folder names match what the evaluation scripts expect: + +```bash +git clone https://github.com/TODO/OrbFlow.git && cd OrbFlow +# set up the environment and .env as described in the code README, then: +hf download divelab/OrbFlow --local-dir . + +# QM9 test set (Euler K = 2 and 3; full test split and last 1600 molecules) +CKPT_PATH=qm9_qhf_eqv3_gt_2ph_final sbatch vision/test_qhf_eqv3_gt_2ph_final_full.slurm + +# MD test sets (6 molecules); for other seeds use EXP_SUFFIX=md_%s_k3l3_slim_10k100k_seed42 +sbatch vision/test_flow_md_paper_2phase_beta13_all6.slurm +``` + +To download a single run: `hf download divelab/OrbFlow --include "qm9_qhf_eqv3_gt_2ph_final/*" --local-dir .` + +## Results + +Test nMAPE (%) with Euler K = 2, mean ± std over training seeds, computed with the evaluation scripts above. + +**QM9** (10,000 test molecules, seeds 0 / 42 / 123) + +| Split | nMAPE (%) | +|-------|-----------| +| Full test set | 0.1518 ± 0.0008 | +| Last 1,600 molecules | 0.1646 ± 0.0008 | + +**MD** (seeds 0 / 42 / 505) + +| Molecule | nMAPE (%) | +|----------|-----------| +| benzene | 0.4210 ± 0.0017 | +| ethane | 0.8706 ± 0.0084 | +| ethanol | 1.0784 ± 0.0229 | +| malonaldehyde | 1.1771 ± 0.0127 | +| phenol | 0.5753 ± 0.0083 | +| resorcinol | 0.6626 ± 0.0136 | +| **average (6 molecules)** | **0.7975 ± 0.0067** | + +## Citation + +TODO + +OrbFlow builds on [SCDP](https://github.com/kyonofx/scdp) (Fu et al., NeurIPS 2024). diff --git a/md_benzene_k3l3_slim_10k100k/config.yaml b/md_benzene_k3l3_slim_10k100k/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..30ac818227b7d07c5f00e1d067e7e267ca10e2a7 --- /dev/null +++ b/md_benzene_k3l3_slim_10k100k/config.yaml @@ -0,0 +1,191 @@ +data: + _target_: scdp.data.datamodule.ProbeDataModule + dataset: + _target_: scdp.data.dataset.LmdbDataset + path: ${oc.env:DATAPATH}/MD/scdp_lmdb/benzene + gt_coeffs_path: ${oc.env:DATAPATH}/MD/scdp_lmdb_gt_ridge_beta1.3/benzene + sad_coeffs_path: null + split_file: ${oc.env:DATAPATH}/MD/scdp_lmdb/benzene/datasplits.json + num_workers: + train: 8 + val: 8 + test: 8 + batch_size: + train: 4 + val: 4 + test: 4 + n_probe: + train: 125000 + val: 125000 + test: 125000 +model: + model: + _target_: scdp.model.equiformer_v3.EquiformerV3 + enable_flow_coeff_entangle: true + flow_bridge_time_dim: ${..flow_time_dim} + max_num_elements: 100 + num_layers: 3 + lmax_list: + - 3 + mmax_list: + - 2 + cutoff: 6.0 + sphere_channels: 96 + hidden_channels: 192 + edge_channels: 96 + num_radial_basis: 300 + distance_resolution: 0.02 + basis_width_scalar: 2.0 + attn_hidden_channels: 64 + num_heads: 8 + attn_alpha_channels: 32 + attn_value_channels: 16 + attn_grid_resolution_list: + - 20 + - 8 + ffn_grid_resolution_list: + - 20 + - 20 + norm_type: merge_layer_norm + use_atom_edge_embedding: true + use_envelope: true + use_attn_renorm: true + use_add_merge: false + use_grid_mlp: true + attn_activation: sep-merge_gates2_swiglu + ffn_activation: sep-merge_gates2_swiglu + alpha_drop: 0.0 + attn_mask_rate: 0.0 + attn_weights_drop: 0.0 + value_drop: 0.0 + drop_path_rate: 0.0 + proj_drop: 0.0 + ffn_drop: 0.0 + gradient_checkpointing_block_list: null + _target_: scdp.model.module_flow.ChgFlowMatchingModule + criterion: mae + vnode_elem: 8 + pbc: false + dft_basis_set: def2-qzvppd + dft_wt_aug: true + concat_basis: false + beta: 1.3 + lmax_restriction: true + lmax_relax: 0 + uncontracted: true + orb_cutoff: 5.0 + expo_trainable: false + magnitude_weighting: false + density_synthesis_mode: linear + flow_velocity_mlp_hidden: 512 + flow_time_dim: 64 + flow_head: escn + flow_e3nn_hidden_multiplier: 2 + bridge_mode: cfm + flow_loss_mode: endpoint + flow_endpoint_loss: integrated_density + flow_target_mode: gt + flow_use_t_scale: false + flow_t_scale_max: 0.9 + flow_prior_mode: irrep_gaussian + flow_prior_sigma: 1.8172615989393406 + flow_prior_mu: 0.008670088241267512 + flow_prior_nelectron_normalize: false + flow_nelectron_mc_max_probes: 0 + flow_val_integrate_steps: 2 + flow_val_integrate_sweep_steps: + - 1 + - 2 + - 3 + flow_integrate_train_steps: 2 + flow_integrate_min_t: 0.01 + flow_integrate_schedule: uniform + flow_integrate_t_hi: 0.99 + flow_integrate_power: 4.0 + flow_val_max_n_probe_per_pass: 400000 + flow_val_log_readout: false + sb_sigma: 0.1 + sb_noise_mode: isotropic + sb_per_l_sigma_mode: inv_sqrt_2lp1 + sb_per_l_sigma_scales: null +train: + seed: 0 + deterministic: true + run_post_fit_test: false + trainer: + fast_dev_run: false + accelerator: gpu + strategy: ddp_find_unused_parameters_true + devices: 4 + precision: 32 + max_epochs: 100000 + max_steps: 110000 + num_sanity_val_steps: 2 + gradient_clip_val: 0.5 + val_check_interval: 1.0 + deterministic: ${train.deterministic} + optim: + _target_: torch.optim.Adam + lr: 0.001 + betas: + - 0.9 + - 0.999 + eps: 1.0e-08 + weight_decay: 0.0 + lr_scheduler: + _target_: scdp.model.utils.PowerDecayScheduler + warmup_steps: 1000 + alpha: 0.96 + beta: 4433 + lr_schedule_freq: 1 + ema: + decay: 0.995 + restore: + ckpt_or_run_path: null + mode: null + weights_only: false + monitor: + metric: nmape/val_flow + mode: min + callbacks: + - _target_: lightning.pytorch.callbacks.EarlyStopping + patience: 10000 + verbose: false + monitor: ${train.monitor.metric} + mode: ${train.monitor.mode} + - _target_: lightning.pytorch.callbacks.ModelCheckpoint + dirpath: ${core.storage_dir} + save_top_k: 2 + save_last: true + verbose: false + monitor: ${train.monitor.metric} + mode: ${train.monitor.mode} + - _target_: lightning.pytorch.callbacks.LearningRateMonitor + logging_interval: step + log_momentum: false + - _target_: lightning.pytorch.callbacks.progress.tqdm_progress.TQDMProgressBar + refresh_rate: 20 + logging: + upload: + run_files: false + source: true + wandb: + name: ${core.expname} + project: ${core.project_name} + entity: null + log_model: ${..upload.run_files} + mode: online + tags: ${core.tags} + resume: allow + wandb_watch: + log: all + log_freq: 100 +core: + expname: md_benzene_k3l3_slim_10k100k + project_name: orbflow + storage_dir: ${core.expname} + version: 0.0.1 + tags: null +conventions: + x_key: x + y_key: 'y' diff --git a/md_benzene_k3l3_slim_10k100k/epoch=1730-step=108990.ckpt b/md_benzene_k3l3_slim_10k100k/epoch=1730-step=108990.ckpt new file mode 100644 index 0000000000000000000000000000000000000000..990cc10ca83250dd869f6b31b1bbb4d057cb1323 --- /dev/null +++ b/md_benzene_k3l3_slim_10k100k/epoch=1730-step=108990.ckpt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c97567e39c5591b60498012578d1c3c2418bf082d774c8dc60e51318cf7fa72c +size 154821792 diff --git a/md_benzene_k3l3_slim_10k100k/metadata.json b/md_benzene_k3l3_slim_10k100k/metadata.json new file mode 100644 index 0000000000000000000000000000000000000000..51ed393b3d3dac79708a272f57d8d2e86b6d1116 --- /dev/null +++ b/md_benzene_k3l3_slim_10k100k/metadata.json @@ -0,0 +1 @@ +{"target_mean": 0.049426741898059845, "target_var": 0.09023545682430267, "avg_num_neighbors": 11, "unique_atom_types": [0, 1, 6]} \ No newline at end of file diff --git a/md_benzene_k3l3_slim_10k100k_seed42/config.yaml b/md_benzene_k3l3_slim_10k100k_seed42/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..94ab1379f011a778bc06b22eecd1c1dc2b340e5b --- /dev/null +++ b/md_benzene_k3l3_slim_10k100k_seed42/config.yaml @@ -0,0 +1,196 @@ +data: + _target_: scdp.data.datamodule.ProbeDataModule + dataset: + _target_: scdp.data.dataset.LmdbDataset + path: ${oc.env:DATAPATH}/MD/scdp_lmdb/benzene + gt_coeffs_path: ${oc.env:DATAPATH}/MD/scdp_lmdb_gt_ridge_beta1.3/benzene + sad_coeffs_path: null + split_file: ${oc.env:DATAPATH}/MD/scdp_lmdb/benzene/datasplits.json + num_workers: + train: 8 + val: 8 + test: 8 + batch_size: + train: 4 + val: 4 + test: 4 + n_probe: + train: 125000 + val: 125000 + test: 125000 +model: + model: + _target_: scdp.model.equiformer_v3.EquiformerV3 + enable_flow_coeff_entangle: true + flow_bridge_time_dim: ${..flow_time_dim} + max_num_elements: 100 + num_layers: 3 + lmax_list: + - 3 + mmax_list: + - 2 + cutoff: 6.0 + sphere_channels: 96 + hidden_channels: 192 + edge_channels: 96 + num_radial_basis: 300 + distance_resolution: 0.02 + basis_width_scalar: 2.0 + attn_hidden_channels: 64 + num_heads: 8 + attn_alpha_channels: 32 + attn_value_channels: 16 + attn_grid_resolution_list: + - 20 + - 8 + ffn_grid_resolution_list: + - 20 + - 20 + norm_type: merge_layer_norm + use_atom_edge_embedding: true + use_envelope: true + use_attn_renorm: true + use_add_merge: false + use_grid_mlp: true + attn_activation: sep-merge_gates2_swiglu + ffn_activation: sep-merge_gates2_swiglu + alpha_drop: 0.0 + attn_mask_rate: 0.0 + attn_weights_drop: 0.0 + value_drop: 0.0 + drop_path_rate: 0.0 + proj_drop: 0.0 + ffn_drop: 0.0 + gradient_checkpointing_block_list: null + _target_: scdp.model.module_flow.ChgFlowMatchingModule + criterion: mae + vnode_elem: 8 + pbc: false + dft_basis_set: def2-qzvppd + dft_wt_aug: true + concat_basis: false + beta: 1.3 + lmax_restriction: true + lmax_relax: 0 + uncontracted: true + orb_cutoff: 5.0 + expo_trainable: false + magnitude_weighting: false + density_synthesis_mode: linear + density_eval_mode: realspace + hybrid_fft_zeta_max: 5.0 + hybrid_fft_phase_sign: -1.0 + hybrid_fft_chunk_G: 65536 + flow_velocity_mlp_hidden: 512 + flow_time_dim: 64 + flow_head: escn + flow_e3nn_hidden_multiplier: 2 + bridge_mode: cfm + flow_loss_mode: endpoint + flow_endpoint_loss: integrated_density + flow_combined_integrated_weight: 1.0 + flow_target_mode: gt + flow_use_t_scale: false + flow_t_scale_max: 0.9 + flow_prior_mode: irrep_gaussian + flow_prior_sigma: 1.8172615989393406 + flow_prior_mu: 0.008670088241267512 + flow_prior_nelectron_normalize: false + flow_nelectron_mc_max_probes: 0 + flow_val_integrate_steps: 2 + flow_val_integrate_sweep_steps: + - 1 + - 2 + - 3 + flow_integrate_train_steps: 2 + flow_integrate_min_t: 0.01 + flow_integrate_schedule: uniform + flow_integrate_t_hi: 0.99 + flow_integrate_power: 4.0 + flow_val_max_n_probe_per_pass: 400000 + flow_val_log_readout: false + sb_sigma: 0.1 + sb_noise_mode: isotropic + sb_per_l_sigma_mode: inv_sqrt_2lp1 + sb_per_l_sigma_scales: null +train: + seed: 42 + deterministic: true + run_post_fit_test: false + trainer: + fast_dev_run: false + accelerator: gpu + strategy: ddp_find_unused_parameters_true + devices: 4 + precision: 32 + max_epochs: 100000 + max_steps: 110000 + num_sanity_val_steps: 2 + gradient_clip_val: 0.5 + val_check_interval: 1.0 + deterministic: ${train.deterministic} + optim: + _target_: torch.optim.Adam + lr: 0.001 + betas: + - 0.9 + - 0.999 + eps: 1.0e-08 + weight_decay: 0.0 + lr_scheduler: + _target_: scdp.model.utils.PowerDecayScheduler + warmup_steps: 1000 + alpha: 0.96 + beta: 4433 + lr_schedule_freq: 1 + ema: + decay: 0.995 + restore: + ckpt_or_run_path: null + mode: null + weights_only: false + monitor: + metric: nmape/val_flow + mode: min + callbacks: + - _target_: lightning.pytorch.callbacks.EarlyStopping + patience: 10000 + verbose: false + monitor: ${train.monitor.metric} + mode: ${train.monitor.mode} + - _target_: lightning.pytorch.callbacks.ModelCheckpoint + dirpath: ${core.storage_dir} + save_top_k: 2 + save_last: true + verbose: false + monitor: ${train.monitor.metric} + mode: ${train.monitor.mode} + - _target_: lightning.pytorch.callbacks.LearningRateMonitor + logging_interval: step + log_momentum: false + - _target_: lightning.pytorch.callbacks.progress.tqdm_progress.TQDMProgressBar + refresh_rate: 20 + logging: + upload: + run_files: false + source: true + wandb: + name: ${core.expname} + project: ${core.project_name} + entity: null + log_model: ${..upload.run_files} + mode: online + tags: ${core.tags} + resume: allow + wandb_watch: + log: null + log_freq: 100 +core: + expname: md_benzene_k3l3_slim_10k100k_seed42 + project_name: orbflow + storage_dir: ${core.expname} + version: 0.0.1 + tags: null +conventions: + x_key: x + y_key: 'y' diff --git a/md_benzene_k3l3_slim_10k100k_seed42/epoch=1741-step=109683.ckpt b/md_benzene_k3l3_slim_10k100k_seed42/epoch=1741-step=109683.ckpt new file mode 100644 index 0000000000000000000000000000000000000000..aadab068bf2cf6515defe990d17967349f761a8c --- /dev/null +++ b/md_benzene_k3l3_slim_10k100k_seed42/epoch=1741-step=109683.ckpt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e91a9ef42a774f8dff79251293f099fb4cfbc5e329ae564d75bb6a927b6f0163 +size 154821984 diff --git a/md_benzene_k3l3_slim_10k100k_seed42/metadata.json b/md_benzene_k3l3_slim_10k100k_seed42/metadata.json new file mode 100644 index 0000000000000000000000000000000000000000..51ed393b3d3dac79708a272f57d8d2e86b6d1116 --- /dev/null +++ b/md_benzene_k3l3_slim_10k100k_seed42/metadata.json @@ -0,0 +1 @@ +{"target_mean": 0.049426741898059845, "target_var": 0.09023545682430267, "avg_num_neighbors": 11, "unique_atom_types": [0, 1, 6]} \ No newline at end of file diff --git a/md_benzene_k3l3_slim_10k100k_seed505/config.yaml b/md_benzene_k3l3_slim_10k100k_seed505/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..73f02974e4ff9d4e760962aba16c5e7b36d6d1f5 --- /dev/null +++ b/md_benzene_k3l3_slim_10k100k_seed505/config.yaml @@ -0,0 +1,196 @@ +data: + _target_: scdp.data.datamodule.ProbeDataModule + dataset: + _target_: scdp.data.dataset.LmdbDataset + path: ${oc.env:DATAPATH}/MD/scdp_lmdb/benzene + gt_coeffs_path: ${oc.env:DATAPATH}/MD/scdp_lmdb_gt_ridge_beta1.3/benzene + sad_coeffs_path: null + split_file: ${oc.env:DATAPATH}/MD/scdp_lmdb/benzene/datasplits.json + num_workers: + train: 8 + val: 8 + test: 8 + batch_size: + train: 4 + val: 4 + test: 4 + n_probe: + train: 125000 + val: 125000 + test: 125000 +model: + model: + _target_: scdp.model.equiformer_v3.EquiformerV3 + enable_flow_coeff_entangle: true + flow_bridge_time_dim: ${..flow_time_dim} + max_num_elements: 100 + num_layers: 3 + lmax_list: + - 3 + mmax_list: + - 2 + cutoff: 6.0 + sphere_channels: 96 + hidden_channels: 192 + edge_channels: 96 + num_radial_basis: 300 + distance_resolution: 0.02 + basis_width_scalar: 2.0 + attn_hidden_channels: 64 + num_heads: 8 + attn_alpha_channels: 32 + attn_value_channels: 16 + attn_grid_resolution_list: + - 20 + - 8 + ffn_grid_resolution_list: + - 20 + - 20 + norm_type: merge_layer_norm + use_atom_edge_embedding: true + use_envelope: true + use_attn_renorm: true + use_add_merge: false + use_grid_mlp: true + attn_activation: sep-merge_gates2_swiglu + ffn_activation: sep-merge_gates2_swiglu + alpha_drop: 0.0 + attn_mask_rate: 0.0 + attn_weights_drop: 0.0 + value_drop: 0.0 + drop_path_rate: 0.0 + proj_drop: 0.0 + ffn_drop: 0.0 + gradient_checkpointing_block_list: null + _target_: scdp.model.module_flow.ChgFlowMatchingModule + criterion: mae + vnode_elem: 8 + pbc: false + dft_basis_set: def2-qzvppd + dft_wt_aug: true + concat_basis: false + beta: 1.3 + lmax_restriction: true + lmax_relax: 0 + uncontracted: true + orb_cutoff: 5.0 + expo_trainable: false + magnitude_weighting: false + density_synthesis_mode: linear + density_eval_mode: realspace + hybrid_fft_zeta_max: 5.0 + hybrid_fft_phase_sign: -1.0 + hybrid_fft_chunk_G: 65536 + flow_velocity_mlp_hidden: 512 + flow_time_dim: 64 + flow_head: escn + flow_e3nn_hidden_multiplier: 2 + bridge_mode: cfm + flow_loss_mode: endpoint + flow_endpoint_loss: integrated_density + flow_combined_integrated_weight: 1.0 + flow_target_mode: gt + flow_use_t_scale: false + flow_t_scale_max: 0.9 + flow_prior_mode: irrep_gaussian + flow_prior_sigma: 1.8172615989393406 + flow_prior_mu: 0.008670088241267512 + flow_prior_nelectron_normalize: false + flow_nelectron_mc_max_probes: 0 + flow_val_integrate_steps: 2 + flow_val_integrate_sweep_steps: + - 1 + - 2 + - 3 + flow_integrate_train_steps: 2 + flow_integrate_min_t: 0.01 + flow_integrate_schedule: uniform + flow_integrate_t_hi: 0.99 + flow_integrate_power: 4.0 + flow_val_max_n_probe_per_pass: 400000 + flow_val_log_readout: false + sb_sigma: 0.1 + sb_noise_mode: isotropic + sb_per_l_sigma_mode: inv_sqrt_2lp1 + sb_per_l_sigma_scales: null +train: + seed: 505 + deterministic: true + run_post_fit_test: false + trainer: + fast_dev_run: false + accelerator: gpu + strategy: ddp_find_unused_parameters_true + devices: 2 + precision: 32 + max_epochs: 100000 + max_steps: 110000 + num_sanity_val_steps: 2 + gradient_clip_val: 0.5 + val_check_interval: 1.0 + deterministic: ${train.deterministic} + optim: + _target_: torch.optim.Adam + lr: 0.001 + betas: + - 0.9 + - 0.999 + eps: 1.0e-08 + weight_decay: 0.0 + lr_scheduler: + _target_: scdp.model.utils.PowerDecayScheduler + warmup_steps: 1000 + alpha: 0.96 + beta: 4433 + lr_schedule_freq: 1 + ema: + decay: 0.995 + restore: + ckpt_or_run_path: null + mode: null + weights_only: false + monitor: + metric: nmape/val_flow + mode: min + callbacks: + - _target_: lightning.pytorch.callbacks.EarlyStopping + patience: 10000 + verbose: false + monitor: ${train.monitor.metric} + mode: ${train.monitor.mode} + - _target_: lightning.pytorch.callbacks.ModelCheckpoint + dirpath: ${core.storage_dir} + save_top_k: 2 + save_last: true + verbose: false + monitor: ${train.monitor.metric} + mode: ${train.monitor.mode} + - _target_: lightning.pytorch.callbacks.LearningRateMonitor + logging_interval: step + log_momentum: false + - _target_: lightning.pytorch.callbacks.progress.tqdm_progress.TQDMProgressBar + refresh_rate: 20 + logging: + upload: + run_files: false + source: true + wandb: + name: ${core.expname} + project: ${core.project_name} + entity: null + log_model: ${..upload.run_files} + mode: online + tags: ${core.tags} + resume: allow + wandb_watch: + log: null + log_freq: 100 +core: + expname: md_benzene_k3l3_slim_10k100k_seed505 + project_name: orbflow + storage_dir: ${core.expname} + version: 0.0.1 + tags: null +conventions: + x_key: x + y_key: 'y' diff --git a/md_benzene_k3l3_slim_10k100k_seed505/epoch=872-step=109872.ckpt b/md_benzene_k3l3_slim_10k100k_seed505/epoch=872-step=109872.ckpt new file mode 100644 index 0000000000000000000000000000000000000000..d3017100b88766864446e4e575a6d7f941755b3a --- /dev/null +++ b/md_benzene_k3l3_slim_10k100k_seed505/epoch=872-step=109872.ckpt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6ee9b9966635023e8fad9ce3e75cb9ab9c4e1ce1d5007b20c7dd95a2b62901b7 +size 154820962 diff --git a/md_benzene_k3l3_slim_10k100k_seed505/metadata.json b/md_benzene_k3l3_slim_10k100k_seed505/metadata.json new file mode 100644 index 0000000000000000000000000000000000000000..51ed393b3d3dac79708a272f57d8d2e86b6d1116 --- /dev/null +++ b/md_benzene_k3l3_slim_10k100k_seed505/metadata.json @@ -0,0 +1 @@ +{"target_mean": 0.049426741898059845, "target_var": 0.09023545682430267, "avg_num_neighbors": 11, "unique_atom_types": [0, 1, 6]} \ No newline at end of file diff --git a/md_ethane_k3l3_slim_10k100k/config.yaml b/md_ethane_k3l3_slim_10k100k/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..9b23df79257c5e4cbfd5dc106921d858bb2766a1 --- /dev/null +++ b/md_ethane_k3l3_slim_10k100k/config.yaml @@ -0,0 +1,191 @@ +data: + _target_: scdp.data.datamodule.ProbeDataModule + dataset: + _target_: scdp.data.dataset.LmdbDataset + path: ${oc.env:DATAPATH}/MD/scdp_lmdb/ethane + gt_coeffs_path: ${oc.env:DATAPATH}/MD/scdp_lmdb_gt_ridge_beta1.3/ethane + sad_coeffs_path: null + split_file: ${oc.env:DATAPATH}/MD/scdp_lmdb/ethane/datasplits.json + num_workers: + train: 8 + val: 8 + test: 8 + batch_size: + train: 4 + val: 4 + test: 4 + n_probe: + train: 125000 + val: 125000 + test: 125000 +model: + model: + _target_: scdp.model.equiformer_v3.EquiformerV3 + enable_flow_coeff_entangle: true + flow_bridge_time_dim: ${..flow_time_dim} + max_num_elements: 100 + num_layers: 3 + lmax_list: + - 3 + mmax_list: + - 2 + cutoff: 6.0 + sphere_channels: 96 + hidden_channels: 192 + edge_channels: 96 + num_radial_basis: 300 + distance_resolution: 0.02 + basis_width_scalar: 2.0 + attn_hidden_channels: 64 + num_heads: 8 + attn_alpha_channels: 32 + attn_value_channels: 16 + attn_grid_resolution_list: + - 20 + - 8 + ffn_grid_resolution_list: + - 20 + - 20 + norm_type: merge_layer_norm + use_atom_edge_embedding: true + use_envelope: true + use_attn_renorm: true + use_add_merge: false + use_grid_mlp: true + attn_activation: sep-merge_gates2_swiglu + ffn_activation: sep-merge_gates2_swiglu + alpha_drop: 0.0 + attn_mask_rate: 0.0 + attn_weights_drop: 0.0 + value_drop: 0.0 + drop_path_rate: 0.0 + proj_drop: 0.0 + ffn_drop: 0.0 + gradient_checkpointing_block_list: null + _target_: scdp.model.module_flow.ChgFlowMatchingModule + criterion: mae + vnode_elem: 8 + pbc: false + dft_basis_set: def2-qzvppd + dft_wt_aug: true + concat_basis: false + beta: 1.3 + lmax_restriction: true + lmax_relax: 0 + uncontracted: true + orb_cutoff: 5.0 + expo_trainable: false + magnitude_weighting: false + density_synthesis_mode: linear + flow_velocity_mlp_hidden: 512 + flow_time_dim: 64 + flow_head: escn + flow_e3nn_hidden_multiplier: 2 + bridge_mode: cfm + flow_loss_mode: endpoint + flow_endpoint_loss: integrated_density + flow_target_mode: gt + flow_use_t_scale: false + flow_t_scale_max: 0.9 + flow_prior_mode: irrep_gaussian + flow_prior_sigma: 3.6557021047032014 + flow_prior_mu: 0.008435532788597242 + flow_prior_nelectron_normalize: false + flow_nelectron_mc_max_probes: 0 + flow_val_integrate_steps: 2 + flow_val_integrate_sweep_steps: + - 1 + - 2 + - 3 + flow_integrate_train_steps: 2 + flow_integrate_min_t: 0.01 + flow_integrate_schedule: uniform + flow_integrate_t_hi: 0.99 + flow_integrate_power: 4.0 + flow_val_max_n_probe_per_pass: 400000 + flow_val_log_readout: false + sb_sigma: 0.1 + sb_noise_mode: isotropic + sb_per_l_sigma_mode: inv_sqrt_2lp1 + sb_per_l_sigma_scales: null +train: + seed: 0 + deterministic: true + run_post_fit_test: false + trainer: + fast_dev_run: false + accelerator: gpu + strategy: ddp_find_unused_parameters_true + devices: 4 + precision: 32 + max_epochs: 100000 + max_steps: 110000 + num_sanity_val_steps: 2 + gradient_clip_val: 0.5 + val_check_interval: 1.0 + deterministic: ${train.deterministic} + optim: + _target_: torch.optim.Adam + lr: 0.001 + betas: + - 0.9 + - 0.999 + eps: 1.0e-08 + weight_decay: 0.0 + lr_scheduler: + _target_: scdp.model.utils.PowerDecayScheduler + warmup_steps: 1000 + alpha: 0.96 + beta: 4433 + lr_schedule_freq: 1 + ema: + decay: 0.995 + restore: + ckpt_or_run_path: null + mode: null + weights_only: false + monitor: + metric: nmape/val_flow + mode: min + callbacks: + - _target_: lightning.pytorch.callbacks.EarlyStopping + patience: 10000 + verbose: false + monitor: ${train.monitor.metric} + mode: ${train.monitor.mode} + - _target_: lightning.pytorch.callbacks.ModelCheckpoint + dirpath: ${core.storage_dir} + save_top_k: 2 + save_last: true + verbose: false + monitor: ${train.monitor.metric} + mode: ${train.monitor.mode} + - _target_: lightning.pytorch.callbacks.LearningRateMonitor + logging_interval: step + log_momentum: false + - _target_: lightning.pytorch.callbacks.progress.tqdm_progress.TQDMProgressBar + refresh_rate: 20 + logging: + upload: + run_files: false + source: true + wandb: + name: ${core.expname} + project: ${core.project_name} + entity: null + log_model: ${..upload.run_files} + mode: online + tags: ${core.tags} + resume: allow + wandb_watch: + log: all + log_freq: 100 +core: + expname: md_ethane_k3l3_slim_10k100k + project_name: orbflow + storage_dir: ${core.expname} + version: 0.0.1 + tags: null +conventions: + x_key: x + y_key: 'y' diff --git a/md_ethane_k3l3_slim_10k100k/epoch=440-step=55000.ckpt b/md_ethane_k3l3_slim_10k100k/epoch=440-step=55000.ckpt new file mode 100644 index 0000000000000000000000000000000000000000..3cb19a6f512987ca25e7a8543103898d5479f2b1 --- /dev/null +++ b/md_ethane_k3l3_slim_10k100k/epoch=440-step=55000.ckpt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:51067711ace62d1214d47c14504b1da7a21e9a3cf91f531895d8419de6712090 +size 154820260 diff --git a/md_ethane_k3l3_slim_10k100k/metadata.json b/md_ethane_k3l3_slim_10k100k/metadata.json new file mode 100644 index 0000000000000000000000000000000000000000..5a1c3cf626a6bd23d195d3d55963cd3b291576b3 --- /dev/null +++ b/md_ethane_k3l3_slim_10k100k/metadata.json @@ -0,0 +1 @@ +{"target_mean": 0.02306615188717842, "target_var": 0.039020102471113205, "avg_num_neighbors": 7, "unique_atom_types": [0, 1, 6]} \ No newline at end of file diff --git a/md_ethane_k3l3_slim_10k100k_seed42/config.yaml b/md_ethane_k3l3_slim_10k100k_seed42/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..b35f3a29ec4546c95a287e00883e7e0beb43b1f8 --- /dev/null +++ b/md_ethane_k3l3_slim_10k100k_seed42/config.yaml @@ -0,0 +1,196 @@ +data: + _target_: scdp.data.datamodule.ProbeDataModule + dataset: + _target_: scdp.data.dataset.LmdbDataset + path: ${oc.env:DATAPATH}/MD/scdp_lmdb/ethane + gt_coeffs_path: ${oc.env:DATAPATH}/MD/scdp_lmdb_gt_ridge_beta1.3/ethane + sad_coeffs_path: null + split_file: ${oc.env:DATAPATH}/MD/scdp_lmdb/ethane/datasplits.json + num_workers: + train: 8 + val: 8 + test: 8 + batch_size: + train: 4 + val: 4 + test: 4 + n_probe: + train: 125000 + val: 125000 + test: 125000 +model: + model: + _target_: scdp.model.equiformer_v3.EquiformerV3 + enable_flow_coeff_entangle: true + flow_bridge_time_dim: ${..flow_time_dim} + max_num_elements: 100 + num_layers: 3 + lmax_list: + - 3 + mmax_list: + - 2 + cutoff: 6.0 + sphere_channels: 96 + hidden_channels: 192 + edge_channels: 96 + num_radial_basis: 300 + distance_resolution: 0.02 + basis_width_scalar: 2.0 + attn_hidden_channels: 64 + num_heads: 8 + attn_alpha_channels: 32 + attn_value_channels: 16 + attn_grid_resolution_list: + - 20 + - 8 + ffn_grid_resolution_list: + - 20 + - 20 + norm_type: merge_layer_norm + use_atom_edge_embedding: true + use_envelope: true + use_attn_renorm: true + use_add_merge: false + use_grid_mlp: true + attn_activation: sep-merge_gates2_swiglu + ffn_activation: sep-merge_gates2_swiglu + alpha_drop: 0.0 + attn_mask_rate: 0.0 + attn_weights_drop: 0.0 + value_drop: 0.0 + drop_path_rate: 0.0 + proj_drop: 0.0 + ffn_drop: 0.0 + gradient_checkpointing_block_list: null + _target_: scdp.model.module_flow.ChgFlowMatchingModule + criterion: mae + vnode_elem: 8 + pbc: false + dft_basis_set: def2-qzvppd + dft_wt_aug: true + concat_basis: false + beta: 1.3 + lmax_restriction: true + lmax_relax: 0 + uncontracted: true + orb_cutoff: 5.0 + expo_trainable: false + magnitude_weighting: false + density_synthesis_mode: linear + density_eval_mode: realspace + hybrid_fft_zeta_max: 5.0 + hybrid_fft_phase_sign: -1.0 + hybrid_fft_chunk_G: 65536 + flow_velocity_mlp_hidden: 512 + flow_time_dim: 64 + flow_head: escn + flow_e3nn_hidden_multiplier: 2 + bridge_mode: cfm + flow_loss_mode: endpoint + flow_endpoint_loss: integrated_density + flow_combined_integrated_weight: 1.0 + flow_target_mode: gt + flow_use_t_scale: false + flow_t_scale_max: 0.9 + flow_prior_mode: irrep_gaussian + flow_prior_sigma: 3.6557021047032014 + flow_prior_mu: 0.008435532788597242 + flow_prior_nelectron_normalize: false + flow_nelectron_mc_max_probes: 0 + flow_val_integrate_steps: 2 + flow_val_integrate_sweep_steps: + - 1 + - 2 + - 3 + flow_integrate_train_steps: 2 + flow_integrate_min_t: 0.01 + flow_integrate_schedule: uniform + flow_integrate_t_hi: 0.99 + flow_integrate_power: 4.0 + flow_val_max_n_probe_per_pass: 400000 + flow_val_log_readout: false + sb_sigma: 0.1 + sb_noise_mode: isotropic + sb_per_l_sigma_mode: inv_sqrt_2lp1 + sb_per_l_sigma_scales: null +train: + seed: 42 + deterministic: true + run_post_fit_test: false + trainer: + fast_dev_run: false + accelerator: gpu + strategy: ddp_find_unused_parameters_true + devices: 4 + precision: 32 + max_epochs: 100000 + max_steps: 110000 + num_sanity_val_steps: 2 + gradient_clip_val: 0.5 + val_check_interval: 1.0 + deterministic: ${train.deterministic} + optim: + _target_: torch.optim.Adam + lr: 0.001 + betas: + - 0.9 + - 0.999 + eps: 1.0e-08 + weight_decay: 0.0 + lr_scheduler: + _target_: scdp.model.utils.PowerDecayScheduler + warmup_steps: 1000 + alpha: 0.96 + beta: 4433 + lr_schedule_freq: 1 + ema: + decay: 0.995 + restore: + ckpt_or_run_path: null + mode: null + weights_only: false + monitor: + metric: nmape/val_flow + mode: min + callbacks: + - _target_: lightning.pytorch.callbacks.EarlyStopping + patience: 10000 + verbose: false + monitor: ${train.monitor.metric} + mode: ${train.monitor.mode} + - _target_: lightning.pytorch.callbacks.ModelCheckpoint + dirpath: ${core.storage_dir} + save_top_k: 2 + save_last: true + verbose: false + monitor: ${train.monitor.metric} + mode: ${train.monitor.mode} + - _target_: lightning.pytorch.callbacks.LearningRateMonitor + logging_interval: step + log_momentum: false + - _target_: lightning.pytorch.callbacks.progress.tqdm_progress.TQDMProgressBar + refresh_rate: 20 + logging: + upload: + run_files: false + source: true + wandb: + name: ${core.expname} + project: ${core.project_name} + entity: null + log_model: ${..upload.run_files} + mode: online + tags: ${core.tags} + resume: allow + wandb_watch: + log: null + log_freq: 100 +core: + expname: md_ethane_k3l3_slim_10k100k_seed42 + project_name: orbflow + storage_dir: ${core.expname} + version: 0.0.1 + tags: null +conventions: + x_key: x + y_key: 'y' diff --git a/md_ethane_k3l3_slim_10k100k_seed42/epoch=829-step=103625.ckpt b/md_ethane_k3l3_slim_10k100k_seed42/epoch=829-step=103625.ckpt new file mode 100644 index 0000000000000000000000000000000000000000..aa87c29f5e093002437eede8490f43f2ae2c0185 --- /dev/null +++ b/md_ethane_k3l3_slim_10k100k_seed42/epoch=829-step=103625.ckpt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5d91ce76b904463ced039346bb8f9e07e7bee59bb74e42d539860791c9669507 +size 154820962 diff --git a/md_ethane_k3l3_slim_10k100k_seed42/metadata.json b/md_ethane_k3l3_slim_10k100k_seed42/metadata.json new file mode 100644 index 0000000000000000000000000000000000000000..5a1c3cf626a6bd23d195d3d55963cd3b291576b3 --- /dev/null +++ b/md_ethane_k3l3_slim_10k100k_seed42/metadata.json @@ -0,0 +1 @@ +{"target_mean": 0.02306615188717842, "target_var": 0.039020102471113205, "avg_num_neighbors": 7, "unique_atom_types": [0, 1, 6]} \ No newline at end of file diff --git a/md_ethane_k3l3_slim_10k100k_seed505/config.yaml b/md_ethane_k3l3_slim_10k100k_seed505/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..642308fa118a516be3df29f56a42827e2e7c5f48 --- /dev/null +++ b/md_ethane_k3l3_slim_10k100k_seed505/config.yaml @@ -0,0 +1,196 @@ +data: + _target_: scdp.data.datamodule.ProbeDataModule + dataset: + _target_: scdp.data.dataset.LmdbDataset + path: ${oc.env:DATAPATH}/MD/scdp_lmdb/ethane + gt_coeffs_path: ${oc.env:DATAPATH}/MD/scdp_lmdb_gt_ridge_beta1.3/ethane + sad_coeffs_path: null + split_file: ${oc.env:DATAPATH}/MD/scdp_lmdb/ethane/datasplits.json + num_workers: + train: 8 + val: 8 + test: 8 + batch_size: + train: 4 + val: 4 + test: 4 + n_probe: + train: 125000 + val: 125000 + test: 125000 +model: + model: + _target_: scdp.model.equiformer_v3.EquiformerV3 + enable_flow_coeff_entangle: true + flow_bridge_time_dim: ${..flow_time_dim} + max_num_elements: 100 + num_layers: 3 + lmax_list: + - 3 + mmax_list: + - 2 + cutoff: 6.0 + sphere_channels: 96 + hidden_channels: 192 + edge_channels: 96 + num_radial_basis: 300 + distance_resolution: 0.02 + basis_width_scalar: 2.0 + attn_hidden_channels: 64 + num_heads: 8 + attn_alpha_channels: 32 + attn_value_channels: 16 + attn_grid_resolution_list: + - 20 + - 8 + ffn_grid_resolution_list: + - 20 + - 20 + norm_type: merge_layer_norm + use_atom_edge_embedding: true + use_envelope: true + use_attn_renorm: true + use_add_merge: false + use_grid_mlp: true + attn_activation: sep-merge_gates2_swiglu + ffn_activation: sep-merge_gates2_swiglu + alpha_drop: 0.0 + attn_mask_rate: 0.0 + attn_weights_drop: 0.0 + value_drop: 0.0 + drop_path_rate: 0.0 + proj_drop: 0.0 + ffn_drop: 0.0 + gradient_checkpointing_block_list: null + _target_: scdp.model.module_flow.ChgFlowMatchingModule + criterion: mae + vnode_elem: 8 + pbc: false + dft_basis_set: def2-qzvppd + dft_wt_aug: true + concat_basis: false + beta: 1.3 + lmax_restriction: true + lmax_relax: 0 + uncontracted: true + orb_cutoff: 5.0 + expo_trainable: false + magnitude_weighting: false + density_synthesis_mode: linear + density_eval_mode: realspace + hybrid_fft_zeta_max: 5.0 + hybrid_fft_phase_sign: -1.0 + hybrid_fft_chunk_G: 65536 + flow_velocity_mlp_hidden: 512 + flow_time_dim: 64 + flow_head: escn + flow_e3nn_hidden_multiplier: 2 + bridge_mode: cfm + flow_loss_mode: endpoint + flow_endpoint_loss: integrated_density + flow_combined_integrated_weight: 1.0 + flow_target_mode: gt + flow_use_t_scale: false + flow_t_scale_max: 0.9 + flow_prior_mode: irrep_gaussian + flow_prior_sigma: 3.6557021047032014 + flow_prior_mu: 0.008435532788597242 + flow_prior_nelectron_normalize: false + flow_nelectron_mc_max_probes: 0 + flow_val_integrate_steps: 2 + flow_val_integrate_sweep_steps: + - 1 + - 2 + - 3 + flow_integrate_train_steps: 2 + flow_integrate_min_t: 0.01 + flow_integrate_schedule: uniform + flow_integrate_t_hi: 0.99 + flow_integrate_power: 4.0 + flow_val_max_n_probe_per_pass: 400000 + flow_val_log_readout: false + sb_sigma: 0.1 + sb_noise_mode: isotropic + sb_per_l_sigma_mode: inv_sqrt_2lp1 + sb_per_l_sigma_scales: null +train: + seed: 505 + deterministic: true + run_post_fit_test: false + trainer: + fast_dev_run: false + accelerator: gpu + strategy: ddp_find_unused_parameters_true + devices: 2 + precision: 32 + max_epochs: 100000 + max_steps: 110000 + num_sanity_val_steps: 2 + gradient_clip_val: 0.5 + val_check_interval: 1.0 + deterministic: ${train.deterministic} + optim: + _target_: torch.optim.Adam + lr: 0.001 + betas: + - 0.9 + - 0.999 + eps: 1.0e-08 + weight_decay: 0.0 + lr_scheduler: + _target_: scdp.model.utils.PowerDecayScheduler + warmup_steps: 1000 + alpha: 0.96 + beta: 4433 + lr_schedule_freq: 1 + ema: + decay: 0.995 + restore: + ckpt_or_run_path: null + mode: null + weights_only: false + monitor: + metric: nmape/val_flow + mode: min + callbacks: + - _target_: lightning.pytorch.callbacks.EarlyStopping + patience: 10000 + verbose: false + monitor: ${train.monitor.metric} + mode: ${train.monitor.mode} + - _target_: lightning.pytorch.callbacks.ModelCheckpoint + dirpath: ${core.storage_dir} + save_top_k: 2 + save_last: true + verbose: false + monitor: ${train.monitor.metric} + mode: ${train.monitor.mode} + - _target_: lightning.pytorch.callbacks.LearningRateMonitor + logging_interval: step + log_momentum: false + - _target_: lightning.pytorch.callbacks.progress.tqdm_progress.TQDMProgressBar + refresh_rate: 20 + logging: + upload: + run_files: false + source: true + wandb: + name: ${core.expname} + project: ${core.project_name} + entity: null + log_model: ${..upload.run_files} + mode: online + tags: ${core.tags} + resume: allow + wandb_watch: + log: null + log_freq: 100 +core: + expname: md_ethane_k3l3_slim_10k100k_seed505 + project_name: orbflow + storage_dir: ${core.expname} + version: 0.0.1 + tags: null +conventions: + x_key: x + y_key: 'y' diff --git a/md_ethane_k3l3_slim_10k100k_seed505/epoch=429-step=107250.ckpt b/md_ethane_k3l3_slim_10k100k_seed505/epoch=429-step=107250.ckpt new file mode 100644 index 0000000000000000000000000000000000000000..f8332890df15c01e5d3cdee9c05b82a7881e8ce5 --- /dev/null +++ b/md_ethane_k3l3_slim_10k100k_seed505/epoch=429-step=107250.ckpt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cf78c4065d59b7ec8904098082fecc46f38ce35da8755530c115851b5bfc1f2d +size 154820962 diff --git a/md_ethane_k3l3_slim_10k100k_seed505/metadata.json b/md_ethane_k3l3_slim_10k100k_seed505/metadata.json new file mode 100644 index 0000000000000000000000000000000000000000..5a1c3cf626a6bd23d195d3d55963cd3b291576b3 --- /dev/null +++ b/md_ethane_k3l3_slim_10k100k_seed505/metadata.json @@ -0,0 +1 @@ +{"target_mean": 0.02306615188717842, "target_var": 0.039020102471113205, "avg_num_neighbors": 7, "unique_atom_types": [0, 1, 6]} \ No newline at end of file diff --git a/md_ethanol_k3l3_slim_10k100k/config.yaml b/md_ethanol_k3l3_slim_10k100k/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..2e6b2a63a08e9995f4c03ed7336a2d077f090f0d --- /dev/null +++ b/md_ethanol_k3l3_slim_10k100k/config.yaml @@ -0,0 +1,196 @@ +data: + _target_: scdp.data.datamodule.ProbeDataModule + dataset: + _target_: scdp.data.dataset.LmdbDataset + path: ${oc.env:DATAPATH}/MD/scdp_lmdb/ethanol + gt_coeffs_path: ${oc.env:DATAPATH}/MD/scdp_lmdb_gt_ridge_beta1.3/ethanol + sad_coeffs_path: null + split_file: ${oc.env:DATAPATH}/MD/scdp_lmdb/ethanol/datasplits.json + num_workers: + train: 8 + val: 8 + test: 8 + batch_size: + train: 4 + val: 4 + test: 4 + n_probe: + train: 125000 + val: 125000 + test: 125000 +model: + model: + _target_: scdp.model.equiformer_v3.EquiformerV3 + enable_flow_coeff_entangle: true + flow_bridge_time_dim: ${..flow_time_dim} + max_num_elements: 100 + num_layers: 3 + lmax_list: + - 3 + mmax_list: + - 2 + cutoff: 6.0 + sphere_channels: 96 + hidden_channels: 192 + edge_channels: 96 + num_radial_basis: 300 + distance_resolution: 0.02 + basis_width_scalar: 2.0 + attn_hidden_channels: 64 + num_heads: 8 + attn_alpha_channels: 32 + attn_value_channels: 16 + attn_grid_resolution_list: + - 20 + - 8 + ffn_grid_resolution_list: + - 20 + - 20 + norm_type: merge_layer_norm + use_atom_edge_embedding: true + use_envelope: true + use_attn_renorm: true + use_add_merge: false + use_grid_mlp: true + attn_activation: sep-merge_gates2_swiglu + ffn_activation: sep-merge_gates2_swiglu + alpha_drop: 0.0 + attn_mask_rate: 0.0 + attn_weights_drop: 0.0 + value_drop: 0.0 + drop_path_rate: 0.0 + proj_drop: 0.0 + ffn_drop: 0.0 + gradient_checkpointing_block_list: null + _target_: scdp.model.module_flow.ChgFlowMatchingModule + criterion: mae + vnode_elem: 8 + pbc: false + dft_basis_set: def2-qzvppd + dft_wt_aug: true + concat_basis: false + beta: 1.3 + lmax_restriction: true + lmax_relax: 0 + uncontracted: true + orb_cutoff: 5.0 + expo_trainable: false + magnitude_weighting: false + density_synthesis_mode: linear + density_eval_mode: realspace + hybrid_fft_zeta_max: 5.0 + hybrid_fft_phase_sign: -1.0 + hybrid_fft_chunk_G: 65536 + flow_velocity_mlp_hidden: 512 + flow_time_dim: 64 + flow_head: escn + flow_e3nn_hidden_multiplier: 2 + bridge_mode: cfm + flow_loss_mode: endpoint + flow_endpoint_loss: integrated_density + flow_combined_integrated_weight: 1.0 + flow_target_mode: gt + flow_use_t_scale: false + flow_t_scale_max: 0.9 + flow_prior_mode: irrep_gaussian + flow_prior_sigma: 3.0378894564782692 + flow_prior_mu: 0.005635817718369937 + flow_prior_nelectron_normalize: false + flow_nelectron_mc_max_probes: 0 + flow_val_integrate_steps: 2 + flow_val_integrate_sweep_steps: + - 1 + - 2 + - 3 + flow_integrate_train_steps: 2 + flow_integrate_min_t: 0.01 + flow_integrate_schedule: uniform + flow_integrate_t_hi: 0.99 + flow_integrate_power: 4.0 + flow_val_max_n_probe_per_pass: 400000 + flow_val_log_readout: false + sb_sigma: 0.1 + sb_noise_mode: isotropic + sb_per_l_sigma_mode: inv_sqrt_2lp1 + sb_per_l_sigma_scales: null +train: + seed: 0 + deterministic: true + run_post_fit_test: false + trainer: + fast_dev_run: false + accelerator: gpu + strategy: ddp_find_unused_parameters_true + devices: 4 + precision: 32 + max_epochs: 100000 + max_steps: 110000 + num_sanity_val_steps: 2 + gradient_clip_val: 0.5 + val_check_interval: 1.0 + deterministic: ${train.deterministic} + optim: + _target_: torch.optim.Adam + lr: 0.001 + betas: + - 0.9 + - 0.999 + eps: 1.0e-08 + weight_decay: 0.0 + lr_scheduler: + _target_: scdp.model.utils.PowerDecayScheduler + warmup_steps: 1000 + alpha: 0.96 + beta: 4433 + lr_schedule_freq: 1 + ema: + decay: 0.995 + restore: + ckpt_or_run_path: null + mode: null + weights_only: false + monitor: + metric: nmape/val_flow + mode: min + callbacks: + - _target_: lightning.pytorch.callbacks.EarlyStopping + patience: 10000 + verbose: false + monitor: ${train.monitor.metric} + mode: ${train.monitor.mode} + - _target_: lightning.pytorch.callbacks.ModelCheckpoint + dirpath: ${core.storage_dir} + save_top_k: 2 + save_last: true + verbose: false + monitor: ${train.monitor.metric} + mode: ${train.monitor.mode} + - _target_: lightning.pytorch.callbacks.LearningRateMonitor + logging_interval: step + log_momentum: false + - _target_: lightning.pytorch.callbacks.progress.tqdm_progress.TQDMProgressBar + refresh_rate: 20 + logging: + upload: + run_files: false + source: true + wandb: + name: ${core.expname} + project: ${core.project_name} + entity: null + log_model: ${..upload.run_files} + mode: online + tags: ${core.tags} + resume: allow + wandb_watch: + log: null + log_freq: 100 +core: + expname: md_ethanol_k3l3_slim_10k100k + project_name: orbflow + storage_dir: ${core.expname} + version: 0.0.1 + tags: null +conventions: + x_key: x + y_key: 'y' diff --git a/md_ethanol_k3l3_slim_10k100k/epoch=1748-step=110000.ckpt b/md_ethanol_k3l3_slim_10k100k/epoch=1748-step=110000.ckpt new file mode 100644 index 0000000000000000000000000000000000000000..0ffbf4923b99a59315229dbcd8a91765878b31fa --- /dev/null +++ b/md_ethanol_k3l3_slim_10k100k/epoch=1748-step=110000.ckpt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9c083b8317177438ba0cef691baa499b28124ca88869f11002a2edcb0566ac9b +size 154837998 diff --git a/md_ethanol_k3l3_slim_10k100k/metadata.json b/md_ethanol_k3l3_slim_10k100k/metadata.json new file mode 100644 index 0000000000000000000000000000000000000000..0470b956b078ec93b14e5b03ca8bb50fcf10fc2d --- /dev/null +++ b/md_ethanol_k3l3_slim_10k100k/metadata.json @@ -0,0 +1 @@ +{"target_mean": 0.03295100852847099, "target_var": 0.09332586824893951, "avg_num_neighbors": 7, "unique_atom_types": [8, 1, 6, 0]} \ No newline at end of file diff --git a/md_ethanol_k3l3_slim_10k100k_seed42/config.yaml b/md_ethanol_k3l3_slim_10k100k_seed42/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..336a3c4266b4f0c37ac6ea874fc038a2954fbc50 --- /dev/null +++ b/md_ethanol_k3l3_slim_10k100k_seed42/config.yaml @@ -0,0 +1,196 @@ +data: + _target_: scdp.data.datamodule.ProbeDataModule + dataset: + _target_: scdp.data.dataset.LmdbDataset + path: ${oc.env:DATAPATH}/MD/scdp_lmdb/ethanol + gt_coeffs_path: ${oc.env:DATAPATH}/MD/scdp_lmdb_gt_ridge_beta1.3/ethanol + sad_coeffs_path: null + split_file: ${oc.env:DATAPATH}/MD/scdp_lmdb/ethanol/datasplits.json + num_workers: + train: 8 + val: 8 + test: 8 + batch_size: + train: 4 + val: 4 + test: 4 + n_probe: + train: 125000 + val: 125000 + test: 125000 +model: + model: + _target_: scdp.model.equiformer_v3.EquiformerV3 + enable_flow_coeff_entangle: true + flow_bridge_time_dim: ${..flow_time_dim} + max_num_elements: 100 + num_layers: 3 + lmax_list: + - 3 + mmax_list: + - 2 + cutoff: 6.0 + sphere_channels: 96 + hidden_channels: 192 + edge_channels: 96 + num_radial_basis: 300 + distance_resolution: 0.02 + basis_width_scalar: 2.0 + attn_hidden_channels: 64 + num_heads: 8 + attn_alpha_channels: 32 + attn_value_channels: 16 + attn_grid_resolution_list: + - 20 + - 8 + ffn_grid_resolution_list: + - 20 + - 20 + norm_type: merge_layer_norm + use_atom_edge_embedding: true + use_envelope: true + use_attn_renorm: true + use_add_merge: false + use_grid_mlp: true + attn_activation: sep-merge_gates2_swiglu + ffn_activation: sep-merge_gates2_swiglu + alpha_drop: 0.0 + attn_mask_rate: 0.0 + attn_weights_drop: 0.0 + value_drop: 0.0 + drop_path_rate: 0.0 + proj_drop: 0.0 + ffn_drop: 0.0 + gradient_checkpointing_block_list: null + _target_: scdp.model.module_flow.ChgFlowMatchingModule + criterion: mae + vnode_elem: 8 + pbc: false + dft_basis_set: def2-qzvppd + dft_wt_aug: true + concat_basis: false + beta: 1.3 + lmax_restriction: true + lmax_relax: 0 + uncontracted: true + orb_cutoff: 5.0 + expo_trainable: false + magnitude_weighting: false + density_synthesis_mode: linear + density_eval_mode: realspace + hybrid_fft_zeta_max: 5.0 + hybrid_fft_phase_sign: -1.0 + hybrid_fft_chunk_G: 65536 + flow_velocity_mlp_hidden: 512 + flow_time_dim: 64 + flow_head: escn + flow_e3nn_hidden_multiplier: 2 + bridge_mode: cfm + flow_loss_mode: endpoint + flow_endpoint_loss: integrated_density + flow_combined_integrated_weight: 1.0 + flow_target_mode: gt + flow_use_t_scale: false + flow_t_scale_max: 0.9 + flow_prior_mode: irrep_gaussian + flow_prior_sigma: 3.0378894564782692 + flow_prior_mu: 0.005635817718369937 + flow_prior_nelectron_normalize: false + flow_nelectron_mc_max_probes: 0 + flow_val_integrate_steps: 2 + flow_val_integrate_sweep_steps: + - 1 + - 2 + - 3 + flow_integrate_train_steps: 2 + flow_integrate_min_t: 0.01 + flow_integrate_schedule: uniform + flow_integrate_t_hi: 0.99 + flow_integrate_power: 4.0 + flow_val_max_n_probe_per_pass: 400000 + flow_val_log_readout: false + sb_sigma: 0.1 + sb_noise_mode: isotropic + sb_per_l_sigma_mode: inv_sqrt_2lp1 + sb_per_l_sigma_scales: null +train: + seed: 42 + deterministic: true + run_post_fit_test: false + trainer: + fast_dev_run: false + accelerator: gpu + strategy: ddp_find_unused_parameters_true + devices: 4 + precision: 32 + max_epochs: 100000 + max_steps: 110000 + num_sanity_val_steps: 2 + gradient_clip_val: 0.5 + val_check_interval: 1.0 + deterministic: ${train.deterministic} + optim: + _target_: torch.optim.Adam + lr: 0.001 + betas: + - 0.9 + - 0.999 + eps: 1.0e-08 + weight_decay: 0.0 + lr_scheduler: + _target_: scdp.model.utils.PowerDecayScheduler + warmup_steps: 1000 + alpha: 0.96 + beta: 4433 + lr_schedule_freq: 1 + ema: + decay: 0.995 + restore: + ckpt_or_run_path: null + mode: null + weights_only: false + monitor: + metric: nmape/val_flow + mode: min + callbacks: + - _target_: lightning.pytorch.callbacks.EarlyStopping + patience: 10000 + verbose: false + monitor: ${train.monitor.metric} + mode: ${train.monitor.mode} + - _target_: lightning.pytorch.callbacks.ModelCheckpoint + dirpath: ${core.storage_dir} + save_top_k: 2 + save_last: true + verbose: false + monitor: ${train.monitor.metric} + mode: ${train.monitor.mode} + - _target_: lightning.pytorch.callbacks.LearningRateMonitor + logging_interval: step + log_momentum: false + - _target_: lightning.pytorch.callbacks.progress.tqdm_progress.TQDMProgressBar + refresh_rate: 20 + logging: + upload: + run_files: false + source: true + wandb: + name: ${core.expname} + project: ${core.project_name} + entity: null + log_model: ${..upload.run_files} + mode: online + tags: ${core.tags} + resume: allow + wandb_watch: + log: null + log_freq: 100 +core: + expname: md_ethanol_k3l3_slim_10k100k_seed42 + project_name: orbflow + storage_dir: ${core.expname} + version: 0.0.1 + tags: null +conventions: + x_key: x + y_key: 'y' diff --git a/md_ethanol_k3l3_slim_10k100k_seed42/epoch=1748-step=110000.ckpt b/md_ethanol_k3l3_slim_10k100k_seed42/epoch=1748-step=110000.ckpt new file mode 100644 index 0000000000000000000000000000000000000000..2bc3713039d128731095656c1fca0ba1391fbbe7 --- /dev/null +++ b/md_ethanol_k3l3_slim_10k100k_seed42/epoch=1748-step=110000.ckpt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:423b04f267c2a83d8c67e32108598b61d74ce5e9b6af7f49ed406cae85dd2473 +size 154837998 diff --git a/md_ethanol_k3l3_slim_10k100k_seed42/metadata.json b/md_ethanol_k3l3_slim_10k100k_seed42/metadata.json new file mode 100644 index 0000000000000000000000000000000000000000..0470b956b078ec93b14e5b03ca8bb50fcf10fc2d --- /dev/null +++ b/md_ethanol_k3l3_slim_10k100k_seed42/metadata.json @@ -0,0 +1 @@ +{"target_mean": 0.03295100852847099, "target_var": 0.09332586824893951, "avg_num_neighbors": 7, "unique_atom_types": [8, 1, 6, 0]} \ No newline at end of file diff --git a/md_ethanol_k3l3_slim_10k100k_seed505/config.yaml b/md_ethanol_k3l3_slim_10k100k_seed505/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..15f2d9d131e7feb6f295fe7e07a702f37b0da7de --- /dev/null +++ b/md_ethanol_k3l3_slim_10k100k_seed505/config.yaml @@ -0,0 +1,196 @@ +data: + _target_: scdp.data.datamodule.ProbeDataModule + dataset: + _target_: scdp.data.dataset.LmdbDataset + path: ${oc.env:DATAPATH}/MD/scdp_lmdb/ethanol + gt_coeffs_path: ${oc.env:DATAPATH}/MD/scdp_lmdb_gt_ridge_beta1.3/ethanol + sad_coeffs_path: null + split_file: ${oc.env:DATAPATH}/MD/scdp_lmdb/ethanol/datasplits.json + num_workers: + train: 8 + val: 8 + test: 8 + batch_size: + train: 4 + val: 4 + test: 4 + n_probe: + train: 125000 + val: 125000 + test: 125000 +model: + model: + _target_: scdp.model.equiformer_v3.EquiformerV3 + enable_flow_coeff_entangle: true + flow_bridge_time_dim: ${..flow_time_dim} + max_num_elements: 100 + num_layers: 3 + lmax_list: + - 3 + mmax_list: + - 2 + cutoff: 6.0 + sphere_channels: 96 + hidden_channels: 192 + edge_channels: 96 + num_radial_basis: 300 + distance_resolution: 0.02 + basis_width_scalar: 2.0 + attn_hidden_channels: 64 + num_heads: 8 + attn_alpha_channels: 32 + attn_value_channels: 16 + attn_grid_resolution_list: + - 20 + - 8 + ffn_grid_resolution_list: + - 20 + - 20 + norm_type: merge_layer_norm + use_atom_edge_embedding: true + use_envelope: true + use_attn_renorm: true + use_add_merge: false + use_grid_mlp: true + attn_activation: sep-merge_gates2_swiglu + ffn_activation: sep-merge_gates2_swiglu + alpha_drop: 0.0 + attn_mask_rate: 0.0 + attn_weights_drop: 0.0 + value_drop: 0.0 + drop_path_rate: 0.0 + proj_drop: 0.0 + ffn_drop: 0.0 + gradient_checkpointing_block_list: null + _target_: scdp.model.module_flow.ChgFlowMatchingModule + criterion: mae + vnode_elem: 8 + pbc: false + dft_basis_set: def2-qzvppd + dft_wt_aug: true + concat_basis: false + beta: 1.3 + lmax_restriction: true + lmax_relax: 0 + uncontracted: true + orb_cutoff: 5.0 + expo_trainable: false + magnitude_weighting: false + density_synthesis_mode: linear + density_eval_mode: realspace + hybrid_fft_zeta_max: 5.0 + hybrid_fft_phase_sign: -1.0 + hybrid_fft_chunk_G: 65536 + flow_velocity_mlp_hidden: 512 + flow_time_dim: 64 + flow_head: escn + flow_e3nn_hidden_multiplier: 2 + bridge_mode: cfm + flow_loss_mode: endpoint + flow_endpoint_loss: integrated_density + flow_combined_integrated_weight: 1.0 + flow_target_mode: gt + flow_use_t_scale: false + flow_t_scale_max: 0.9 + flow_prior_mode: irrep_gaussian + flow_prior_sigma: 3.0378894564782692 + flow_prior_mu: 0.005635817718369937 + flow_prior_nelectron_normalize: false + flow_nelectron_mc_max_probes: 0 + flow_val_integrate_steps: 2 + flow_val_integrate_sweep_steps: + - 1 + - 2 + - 3 + flow_integrate_train_steps: 2 + flow_integrate_min_t: 0.01 + flow_integrate_schedule: uniform + flow_integrate_t_hi: 0.99 + flow_integrate_power: 4.0 + flow_val_max_n_probe_per_pass: 400000 + flow_val_log_readout: false + sb_sigma: 0.1 + sb_noise_mode: isotropic + sb_per_l_sigma_mode: inv_sqrt_2lp1 + sb_per_l_sigma_scales: null +train: + seed: 505 + deterministic: true + run_post_fit_test: false + trainer: + fast_dev_run: false + accelerator: gpu + strategy: ddp_find_unused_parameters_true + devices: 2 + precision: 32 + max_epochs: 100000 + max_steps: 110000 + num_sanity_val_steps: 2 + gradient_clip_val: 0.5 + val_check_interval: 1.0 + deterministic: ${train.deterministic} + optim: + _target_: torch.optim.Adam + lr: 0.001 + betas: + - 0.9 + - 0.999 + eps: 1.0e-08 + weight_decay: 0.0 + lr_scheduler: + _target_: scdp.model.utils.PowerDecayScheduler + warmup_steps: 1000 + alpha: 0.96 + beta: 4433 + lr_schedule_freq: 1 + ema: + decay: 0.995 + restore: + ckpt_or_run_path: null + mode: null + weights_only: false + monitor: + metric: nmape/val_flow + mode: min + callbacks: + - _target_: lightning.pytorch.callbacks.EarlyStopping + patience: 10000 + verbose: false + monitor: ${train.monitor.metric} + mode: ${train.monitor.mode} + - _target_: lightning.pytorch.callbacks.ModelCheckpoint + dirpath: ${core.storage_dir} + save_top_k: 2 + save_last: true + verbose: false + monitor: ${train.monitor.metric} + mode: ${train.monitor.mode} + - _target_: lightning.pytorch.callbacks.LearningRateMonitor + logging_interval: step + log_momentum: false + - _target_: lightning.pytorch.callbacks.progress.tqdm_progress.TQDMProgressBar + refresh_rate: 20 + logging: + upload: + run_files: false + source: true + wandb: + name: ${core.expname} + project: ${core.project_name} + entity: null + log_model: ${..upload.run_files} + mode: online + tags: ${core.tags} + resume: allow + wandb_watch: + log: null + log_freq: 100 +core: + expname: md_ethanol_k3l3_slim_10k100k_seed505 + project_name: orbflow + storage_dir: ${core.expname} + version: 0.0.1 + tags: null +conventions: + x_key: x + y_key: 'y' diff --git a/md_ethanol_k3l3_slim_10k100k_seed505/epoch=434-step=54684.ckpt b/md_ethanol_k3l3_slim_10k100k_seed505/epoch=434-step=54684.ckpt new file mode 100644 index 0000000000000000000000000000000000000000..8bfe0dca921849eca79794b9c5c9c494ec8fe772 --- /dev/null +++ b/md_ethanol_k3l3_slim_10k100k_seed505/epoch=434-step=54684.ckpt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b60101e69ed3c4360d32402406e3296228345b62b06ee2d39d7d84e75ee717c9 +size 154836454 diff --git a/md_ethanol_k3l3_slim_10k100k_seed505/metadata.json b/md_ethanol_k3l3_slim_10k100k_seed505/metadata.json new file mode 100644 index 0000000000000000000000000000000000000000..0470b956b078ec93b14e5b03ca8bb50fcf10fc2d --- /dev/null +++ b/md_ethanol_k3l3_slim_10k100k_seed505/metadata.json @@ -0,0 +1 @@ +{"target_mean": 0.03295100852847099, "target_var": 0.09332586824893951, "avg_num_neighbors": 7, "unique_atom_types": [8, 1, 6, 0]} \ No newline at end of file diff --git a/md_malonaldehyde_k3l3_slim_10k100k/config.yaml b/md_malonaldehyde_k3l3_slim_10k100k/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..4974b56adfb4a212e9d20b3103bb056fe64a8066 --- /dev/null +++ b/md_malonaldehyde_k3l3_slim_10k100k/config.yaml @@ -0,0 +1,191 @@ +data: + _target_: scdp.data.datamodule.ProbeDataModule + dataset: + _target_: scdp.data.dataset.LmdbDataset + path: ${oc.env:DATAPATH}/MD/scdp_lmdb/malonaldehyde + gt_coeffs_path: ${oc.env:DATAPATH}/MD/scdp_lmdb_gt_ridge_beta1.3/malonaldehyde + sad_coeffs_path: null + split_file: ${oc.env:DATAPATH}/MD/scdp_lmdb/malonaldehyde/datasplits.json + num_workers: + train: 8 + val: 8 + test: 8 + batch_size: + train: 4 + val: 4 + test: 4 + n_probe: + train: 125000 + val: 125000 + test: 125000 +model: + model: + _target_: scdp.model.equiformer_v3.EquiformerV3 + enable_flow_coeff_entangle: true + flow_bridge_time_dim: ${..flow_time_dim} + max_num_elements: 100 + num_layers: 3 + lmax_list: + - 3 + mmax_list: + - 2 + cutoff: 6.0 + sphere_channels: 96 + hidden_channels: 192 + edge_channels: 96 + num_radial_basis: 300 + distance_resolution: 0.02 + basis_width_scalar: 2.0 + attn_hidden_channels: 64 + num_heads: 8 + attn_alpha_channels: 32 + attn_value_channels: 16 + attn_grid_resolution_list: + - 20 + - 8 + ffn_grid_resolution_list: + - 20 + - 20 + norm_type: merge_layer_norm + use_atom_edge_embedding: true + use_envelope: true + use_attn_renorm: true + use_add_merge: false + use_grid_mlp: true + attn_activation: sep-merge_gates2_swiglu + ffn_activation: sep-merge_gates2_swiglu + alpha_drop: 0.0 + attn_mask_rate: 0.0 + attn_weights_drop: 0.0 + value_drop: 0.0 + drop_path_rate: 0.0 + proj_drop: 0.0 + ffn_drop: 0.0 + gradient_checkpointing_block_list: null + _target_: scdp.model.module_flow.ChgFlowMatchingModule + criterion: mae + vnode_elem: 8 + pbc: false + dft_basis_set: def2-qzvppd + dft_wt_aug: true + concat_basis: false + beta: 1.3 + lmax_restriction: true + lmax_relax: 0 + uncontracted: true + orb_cutoff: 5.0 + expo_trainable: false + magnitude_weighting: false + density_synthesis_mode: linear + flow_velocity_mlp_hidden: 512 + flow_time_dim: 64 + flow_head: escn + flow_e3nn_hidden_multiplier: 2 + bridge_mode: cfm + flow_loss_mode: endpoint + flow_endpoint_loss: integrated_density + flow_target_mode: gt + flow_use_t_scale: false + flow_t_scale_max: 0.9 + flow_prior_mode: irrep_gaussian + flow_prior_sigma: 2.7930136827969125 + flow_prior_mu: 0.017925494043203455 + flow_prior_nelectron_normalize: false + flow_nelectron_mc_max_probes: 0 + flow_val_integrate_steps: 2 + flow_val_integrate_sweep_steps: + - 1 + - 2 + - 3 + flow_integrate_train_steps: 2 + flow_integrate_min_t: 0.01 + flow_integrate_schedule: uniform + flow_integrate_t_hi: 0.99 + flow_integrate_power: 4.0 + flow_val_max_n_probe_per_pass: 400000 + flow_val_log_readout: false + sb_sigma: 0.1 + sb_noise_mode: isotropic + sb_per_l_sigma_mode: inv_sqrt_2lp1 + sb_per_l_sigma_scales: null +train: + seed: 0 + deterministic: true + run_post_fit_test: false + trainer: + fast_dev_run: false + accelerator: gpu + strategy: ddp_find_unused_parameters_true + devices: 4 + precision: 32 + max_epochs: 100000 + max_steps: 110000 + num_sanity_val_steps: 2 + gradient_clip_val: 0.5 + val_check_interval: 1.0 + deterministic: ${train.deterministic} + optim: + _target_: torch.optim.Adam + lr: 0.001 + betas: + - 0.9 + - 0.999 + eps: 1.0e-08 + weight_decay: 0.0 + lr_scheduler: + _target_: scdp.model.utils.PowerDecayScheduler + warmup_steps: 1000 + alpha: 0.96 + beta: 4433 + lr_schedule_freq: 1 + ema: + decay: 0.995 + restore: + ckpt_or_run_path: null + mode: null + weights_only: false + monitor: + metric: nmape/val_flow + mode: min + callbacks: + - _target_: lightning.pytorch.callbacks.EarlyStopping + patience: 10000 + verbose: false + monitor: ${train.monitor.metric} + mode: ${train.monitor.mode} + - _target_: lightning.pytorch.callbacks.ModelCheckpoint + dirpath: ${core.storage_dir} + save_top_k: 2 + save_last: true + verbose: false + monitor: ${train.monitor.metric} + mode: ${train.monitor.mode} + - _target_: lightning.pytorch.callbacks.LearningRateMonitor + logging_interval: step + log_momentum: false + - _target_: lightning.pytorch.callbacks.progress.tqdm_progress.TQDMProgressBar + refresh_rate: 20 + logging: + upload: + run_files: false + source: true + wandb: + name: ${core.expname} + project: ${core.project_name} + entity: null + log_model: ${..upload.run_files} + mode: online + tags: ${core.tags} + resume: allow + wandb_watch: + log: all + log_freq: 100 +core: + expname: md_malonaldehyde_k3l3_slim_10k100k + project_name: orbflow + storage_dir: ${core.expname} + version: 0.0.1 + tags: null +conventions: + x_key: x + y_key: 'y' diff --git a/md_malonaldehyde_k3l3_slim_10k100k/epoch=148-step=18500.ckpt b/md_malonaldehyde_k3l3_slim_10k100k/epoch=148-step=18500.ckpt new file mode 100644 index 0000000000000000000000000000000000000000..c3bd54b6c5d63471e243ade17ec486820c366936 --- /dev/null +++ b/md_malonaldehyde_k3l3_slim_10k100k/epoch=148-step=18500.ckpt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c43acd17309b1623fcd3186b9f2b47cb5a52909d43c82647c19df27185cbe1fa +size 154836262 diff --git a/md_malonaldehyde_k3l3_slim_10k100k/metadata.json b/md_malonaldehyde_k3l3_slim_10k100k/metadata.json new file mode 100644 index 0000000000000000000000000000000000000000..296c819b777cd5a0d103632b12e2cc56285f83f6 --- /dev/null +++ b/md_malonaldehyde_k3l3_slim_10k100k/metadata.json @@ -0,0 +1 @@ +{"target_mean": 0.04613230377435684, "target_var": 0.15922808647155762, "avg_num_neighbors": 7, "unique_atom_types": [8, 1, 6, 0]} \ No newline at end of file diff --git a/md_malonaldehyde_k3l3_slim_10k100k_seed42/config.yaml b/md_malonaldehyde_k3l3_slim_10k100k_seed42/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..b7db2c9dec4f5c14c702854328b1a5a1b28093e9 --- /dev/null +++ b/md_malonaldehyde_k3l3_slim_10k100k_seed42/config.yaml @@ -0,0 +1,196 @@ +data: + _target_: scdp.data.datamodule.ProbeDataModule + dataset: + _target_: scdp.data.dataset.LmdbDataset + path: ${oc.env:DATAPATH}/MD/scdp_lmdb/malonaldehyde + gt_coeffs_path: ${oc.env:DATAPATH}/MD/scdp_lmdb_gt_ridge_beta1.3/malonaldehyde + sad_coeffs_path: null + split_file: ${oc.env:DATAPATH}/MD/scdp_lmdb/malonaldehyde/datasplits.json + num_workers: + train: 8 + val: 8 + test: 8 + batch_size: + train: 4 + val: 4 + test: 4 + n_probe: + train: 125000 + val: 125000 + test: 125000 +model: + model: + _target_: scdp.model.equiformer_v3.EquiformerV3 + enable_flow_coeff_entangle: true + flow_bridge_time_dim: ${..flow_time_dim} + max_num_elements: 100 + num_layers: 3 + lmax_list: + - 3 + mmax_list: + - 2 + cutoff: 6.0 + sphere_channels: 96 + hidden_channels: 192 + edge_channels: 96 + num_radial_basis: 300 + distance_resolution: 0.02 + basis_width_scalar: 2.0 + attn_hidden_channels: 64 + num_heads: 8 + attn_alpha_channels: 32 + attn_value_channels: 16 + attn_grid_resolution_list: + - 20 + - 8 + ffn_grid_resolution_list: + - 20 + - 20 + norm_type: merge_layer_norm + use_atom_edge_embedding: true + use_envelope: true + use_attn_renorm: true + use_add_merge: false + use_grid_mlp: true + attn_activation: sep-merge_gates2_swiglu + ffn_activation: sep-merge_gates2_swiglu + alpha_drop: 0.0 + attn_mask_rate: 0.0 + attn_weights_drop: 0.0 + value_drop: 0.0 + drop_path_rate: 0.0 + proj_drop: 0.0 + ffn_drop: 0.0 + gradient_checkpointing_block_list: null + _target_: scdp.model.module_flow.ChgFlowMatchingModule + criterion: mae + vnode_elem: 8 + pbc: false + dft_basis_set: def2-qzvppd + dft_wt_aug: true + concat_basis: false + beta: 1.3 + lmax_restriction: true + lmax_relax: 0 + uncontracted: true + orb_cutoff: 5.0 + expo_trainable: false + magnitude_weighting: false + density_synthesis_mode: linear + density_eval_mode: realspace + hybrid_fft_zeta_max: 5.0 + hybrid_fft_phase_sign: -1.0 + hybrid_fft_chunk_G: 65536 + flow_velocity_mlp_hidden: 512 + flow_time_dim: 64 + flow_head: escn + flow_e3nn_hidden_multiplier: 2 + bridge_mode: cfm + flow_loss_mode: endpoint + flow_endpoint_loss: integrated_density + flow_combined_integrated_weight: 1.0 + flow_target_mode: gt + flow_use_t_scale: false + flow_t_scale_max: 0.9 + flow_prior_mode: irrep_gaussian + flow_prior_sigma: 2.7930136827969125 + flow_prior_mu: 0.017925494043203455 + flow_prior_nelectron_normalize: false + flow_nelectron_mc_max_probes: 0 + flow_val_integrate_steps: 2 + flow_val_integrate_sweep_steps: + - 1 + - 2 + - 3 + flow_integrate_train_steps: 2 + flow_integrate_min_t: 0.01 + flow_integrate_schedule: uniform + flow_integrate_t_hi: 0.99 + flow_integrate_power: 4.0 + flow_val_max_n_probe_per_pass: 400000 + flow_val_log_readout: false + sb_sigma: 0.1 + sb_noise_mode: isotropic + sb_per_l_sigma_mode: inv_sqrt_2lp1 + sb_per_l_sigma_scales: null +train: + seed: 42 + deterministic: true + run_post_fit_test: false + trainer: + fast_dev_run: false + accelerator: gpu + strategy: ddp_find_unused_parameters_true + devices: 4 + precision: 32 + max_epochs: 100000 + max_steps: 110000 + num_sanity_val_steps: 2 + gradient_clip_val: 0.5 + val_check_interval: 1.0 + deterministic: ${train.deterministic} + optim: + _target_: torch.optim.Adam + lr: 0.001 + betas: + - 0.9 + - 0.999 + eps: 1.0e-08 + weight_decay: 0.0 + lr_scheduler: + _target_: scdp.model.utils.PowerDecayScheduler + warmup_steps: 1000 + alpha: 0.96 + beta: 4433 + lr_schedule_freq: 1 + ema: + decay: 0.995 + restore: + ckpt_or_run_path: null + mode: null + weights_only: false + monitor: + metric: nmape/val_flow + mode: min + callbacks: + - _target_: lightning.pytorch.callbacks.EarlyStopping + patience: 10000 + verbose: false + monitor: ${train.monitor.metric} + mode: ${train.monitor.mode} + - _target_: lightning.pytorch.callbacks.ModelCheckpoint + dirpath: ${core.storage_dir} + save_top_k: 2 + save_last: true + verbose: false + monitor: ${train.monitor.metric} + mode: ${train.monitor.mode} + - _target_: lightning.pytorch.callbacks.LearningRateMonitor + logging_interval: step + log_momentum: false + - _target_: lightning.pytorch.callbacks.progress.tqdm_progress.TQDMProgressBar + refresh_rate: 20 + logging: + upload: + run_files: false + source: true + wandb: + name: ${core.expname} + project: ${core.project_name} + entity: null + log_model: ${..upload.run_files} + mode: online + tags: ${core.tags} + resume: allow + wandb_watch: + log: null + log_freq: 100 +core: + expname: md_malonaldehyde_k3l3_slim_10k100k_seed42 + project_name: orbflow + storage_dir: ${core.expname} + version: 0.0.1 + tags: null +conventions: + x_key: x + y_key: 'y' diff --git a/md_malonaldehyde_k3l3_slim_10k100k_seed42/epoch=320-step=40000.ckpt b/md_malonaldehyde_k3l3_slim_10k100k_seed42/epoch=320-step=40000.ckpt new file mode 100644 index 0000000000000000000000000000000000000000..13723d0d4bfe75a1cbe6b9431b3cd14f2cede571 --- /dev/null +++ b/md_malonaldehyde_k3l3_slim_10k100k_seed42/epoch=320-step=40000.ckpt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8823014baa4602a894e42f5ebc8d98fa388f821b63dfbdf0166c77e1557a1579 +size 154836454 diff --git a/md_malonaldehyde_k3l3_slim_10k100k_seed42/metadata.json b/md_malonaldehyde_k3l3_slim_10k100k_seed42/metadata.json new file mode 100644 index 0000000000000000000000000000000000000000..296c819b777cd5a0d103632b12e2cc56285f83f6 --- /dev/null +++ b/md_malonaldehyde_k3l3_slim_10k100k_seed42/metadata.json @@ -0,0 +1 @@ +{"target_mean": 0.04613230377435684, "target_var": 0.15922808647155762, "avg_num_neighbors": 7, "unique_atom_types": [8, 1, 6, 0]} \ No newline at end of file diff --git a/md_malonaldehyde_k3l3_slim_10k100k_seed505/config.yaml b/md_malonaldehyde_k3l3_slim_10k100k_seed505/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..2ad13df6fc6dce6e67aa569a643565b7ac1605c3 --- /dev/null +++ b/md_malonaldehyde_k3l3_slim_10k100k_seed505/config.yaml @@ -0,0 +1,196 @@ +data: + _target_: scdp.data.datamodule.ProbeDataModule + dataset: + _target_: scdp.data.dataset.LmdbDataset + path: ${oc.env:DATAPATH}/MD/scdp_lmdb/malonaldehyde + gt_coeffs_path: ${oc.env:DATAPATH}/MD/scdp_lmdb_gt_ridge_beta1.3/malonaldehyde + sad_coeffs_path: null + split_file: ${oc.env:DATAPATH}/MD/scdp_lmdb/malonaldehyde/datasplits.json + num_workers: + train: 8 + val: 8 + test: 8 + batch_size: + train: 4 + val: 4 + test: 4 + n_probe: + train: 125000 + val: 125000 + test: 125000 +model: + model: + _target_: scdp.model.equiformer_v3.EquiformerV3 + enable_flow_coeff_entangle: true + flow_bridge_time_dim: ${..flow_time_dim} + max_num_elements: 100 + num_layers: 3 + lmax_list: + - 3 + mmax_list: + - 2 + cutoff: 6.0 + sphere_channels: 96 + hidden_channels: 192 + edge_channels: 96 + num_radial_basis: 300 + distance_resolution: 0.02 + basis_width_scalar: 2.0 + attn_hidden_channels: 64 + num_heads: 8 + attn_alpha_channels: 32 + attn_value_channels: 16 + attn_grid_resolution_list: + - 20 + - 8 + ffn_grid_resolution_list: + - 20 + - 20 + norm_type: merge_layer_norm + use_atom_edge_embedding: true + use_envelope: true + use_attn_renorm: true + use_add_merge: false + use_grid_mlp: true + attn_activation: sep-merge_gates2_swiglu + ffn_activation: sep-merge_gates2_swiglu + alpha_drop: 0.0 + attn_mask_rate: 0.0 + attn_weights_drop: 0.0 + value_drop: 0.0 + drop_path_rate: 0.0 + proj_drop: 0.0 + ffn_drop: 0.0 + gradient_checkpointing_block_list: null + _target_: scdp.model.module_flow.ChgFlowMatchingModule + criterion: mae + vnode_elem: 8 + pbc: false + dft_basis_set: def2-qzvppd + dft_wt_aug: true + concat_basis: false + beta: 1.3 + lmax_restriction: true + lmax_relax: 0 + uncontracted: true + orb_cutoff: 5.0 + expo_trainable: false + magnitude_weighting: false + density_synthesis_mode: linear + density_eval_mode: realspace + hybrid_fft_zeta_max: 5.0 + hybrid_fft_phase_sign: -1.0 + hybrid_fft_chunk_G: 65536 + flow_velocity_mlp_hidden: 512 + flow_time_dim: 64 + flow_head: escn + flow_e3nn_hidden_multiplier: 2 + bridge_mode: cfm + flow_loss_mode: endpoint + flow_endpoint_loss: integrated_density + flow_combined_integrated_weight: 1.0 + flow_target_mode: gt + flow_use_t_scale: false + flow_t_scale_max: 0.9 + flow_prior_mode: irrep_gaussian + flow_prior_sigma: 2.7930136827969125 + flow_prior_mu: 0.017925494043203455 + flow_prior_nelectron_normalize: false + flow_nelectron_mc_max_probes: 0 + flow_val_integrate_steps: 2 + flow_val_integrate_sweep_steps: + - 1 + - 2 + - 3 + flow_integrate_train_steps: 2 + flow_integrate_min_t: 0.01 + flow_integrate_schedule: uniform + flow_integrate_t_hi: 0.99 + flow_integrate_power: 4.0 + flow_val_max_n_probe_per_pass: 400000 + flow_val_log_readout: false + sb_sigma: 0.1 + sb_noise_mode: isotropic + sb_per_l_sigma_mode: inv_sqrt_2lp1 + sb_per_l_sigma_scales: null +train: + seed: 505 + deterministic: true + run_post_fit_test: false + trainer: + fast_dev_run: false + accelerator: gpu + strategy: ddp_find_unused_parameters_true + devices: 2 + precision: 32 + max_epochs: 100000 + max_steps: 110000 + num_sanity_val_steps: 2 + gradient_clip_val: 0.5 + val_check_interval: 1.0 + deterministic: ${train.deterministic} + optim: + _target_: torch.optim.Adam + lr: 0.001 + betas: + - 0.9 + - 0.999 + eps: 1.0e-08 + weight_decay: 0.0 + lr_scheduler: + _target_: scdp.model.utils.PowerDecayScheduler + warmup_steps: 1000 + alpha: 0.96 + beta: 4433 + lr_schedule_freq: 1 + ema: + decay: 0.995 + restore: + ckpt_or_run_path: null + mode: null + weights_only: false + monitor: + metric: nmape/val_flow + mode: min + callbacks: + - _target_: lightning.pytorch.callbacks.EarlyStopping + patience: 10000 + verbose: false + monitor: ${train.monitor.metric} + mode: ${train.monitor.mode} + - _target_: lightning.pytorch.callbacks.ModelCheckpoint + dirpath: ${core.storage_dir} + save_top_k: 2 + save_last: true + verbose: false + monitor: ${train.monitor.metric} + mode: ${train.monitor.mode} + - _target_: lightning.pytorch.callbacks.LearningRateMonitor + logging_interval: step + log_momentum: false + - _target_: lightning.pytorch.callbacks.progress.tqdm_progress.TQDMProgressBar + refresh_rate: 20 + logging: + upload: + run_files: false + source: true + wandb: + name: ${core.expname} + project: ${core.project_name} + entity: null + log_model: ${..upload.run_files} + mode: online + tags: ${core.tags} + resume: allow + wandb_watch: + log: null + log_freq: 100 +core: + expname: md_malonaldehyde_k3l3_slim_10k100k_seed505 + project_name: orbflow + storage_dir: ${core.expname} + version: 0.0.1 + tags: null +conventions: + x_key: x + y_key: 'y' diff --git a/md_malonaldehyde_k3l3_slim_10k100k_seed505/epoch=108-step=27000.ckpt b/md_malonaldehyde_k3l3_slim_10k100k_seed505/epoch=108-step=27000.ckpt new file mode 100644 index 0000000000000000000000000000000000000000..4c61afe29b87ce927460ab4aab500436a70dad18 --- /dev/null +++ b/md_malonaldehyde_k3l3_slim_10k100k_seed505/epoch=108-step=27000.ckpt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1e279e4d237d3ff3d23fa315a615286b10456fbecee8dc67033004f94719dcac +size 154836454 diff --git a/md_malonaldehyde_k3l3_slim_10k100k_seed505/metadata.json b/md_malonaldehyde_k3l3_slim_10k100k_seed505/metadata.json new file mode 100644 index 0000000000000000000000000000000000000000..296c819b777cd5a0d103632b12e2cc56285f83f6 --- /dev/null +++ b/md_malonaldehyde_k3l3_slim_10k100k_seed505/metadata.json @@ -0,0 +1 @@ +{"target_mean": 0.04613230377435684, "target_var": 0.15922808647155762, "avg_num_neighbors": 7, "unique_atom_types": [8, 1, 6, 0]} \ No newline at end of file diff --git a/md_phenol_k3l3_slim_10k100k/config.yaml b/md_phenol_k3l3_slim_10k100k/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..c78b22e50b9091df5c87e543a9fcbf5fe14b98e2 --- /dev/null +++ b/md_phenol_k3l3_slim_10k100k/config.yaml @@ -0,0 +1,196 @@ +data: + _target_: scdp.data.datamodule.ProbeDataModule + dataset: + _target_: scdp.data.dataset.LmdbDataset + path: ${oc.env:DATAPATH}/MD/scdp_lmdb/phenol + gt_coeffs_path: ${oc.env:DATAPATH}/MD/scdp_lmdb_gt_ridge_beta1.3/phenol + sad_coeffs_path: null + split_file: ${oc.env:DATAPATH}/MD/scdp_lmdb/phenol/datasplits.json + num_workers: + train: 8 + val: 8 + test: 8 + batch_size: + train: 4 + val: 4 + test: 4 + n_probe: + train: 125000 + val: 125000 + test: 125000 +model: + model: + _target_: scdp.model.equiformer_v3.EquiformerV3 + enable_flow_coeff_entangle: true + flow_bridge_time_dim: ${..flow_time_dim} + max_num_elements: 100 + num_layers: 3 + lmax_list: + - 3 + mmax_list: + - 2 + cutoff: 6.0 + sphere_channels: 96 + hidden_channels: 192 + edge_channels: 96 + num_radial_basis: 300 + distance_resolution: 0.02 + basis_width_scalar: 2.0 + attn_hidden_channels: 64 + num_heads: 8 + attn_alpha_channels: 32 + attn_value_channels: 16 + attn_grid_resolution_list: + - 20 + - 8 + ffn_grid_resolution_list: + - 20 + - 20 + norm_type: merge_layer_norm + use_atom_edge_embedding: true + use_envelope: true + use_attn_renorm: true + use_add_merge: false + use_grid_mlp: true + attn_activation: sep-merge_gates2_swiglu + ffn_activation: sep-merge_gates2_swiglu + alpha_drop: 0.0 + attn_mask_rate: 0.0 + attn_weights_drop: 0.0 + value_drop: 0.0 + drop_path_rate: 0.0 + proj_drop: 0.0 + ffn_drop: 0.0 + gradient_checkpointing_block_list: null + _target_: scdp.model.module_flow.ChgFlowMatchingModule + criterion: mae + vnode_elem: 8 + pbc: false + dft_basis_set: def2-qzvppd + dft_wt_aug: true + concat_basis: false + beta: 1.3 + lmax_restriction: true + lmax_relax: 0 + uncontracted: true + orb_cutoff: 5.0 + expo_trainable: false + magnitude_weighting: false + density_synthesis_mode: linear + density_eval_mode: realspace + hybrid_fft_zeta_max: 5.0 + hybrid_fft_phase_sign: -1.0 + hybrid_fft_chunk_G: 65536 + flow_velocity_mlp_hidden: 512 + flow_time_dim: 64 + flow_head: escn + flow_e3nn_hidden_multiplier: 2 + bridge_mode: cfm + flow_loss_mode: endpoint + flow_endpoint_loss: integrated_density + flow_combined_integrated_weight: 1.0 + flow_target_mode: gt + flow_use_t_scale: false + flow_t_scale_max: 0.9 + flow_prior_mode: irrep_gaussian + flow_prior_sigma: 1.9846056192284764 + flow_prior_mu: 0.005037187932829464 + flow_prior_nelectron_normalize: false + flow_nelectron_mc_max_probes: 0 + flow_val_integrate_steps: 2 + flow_val_integrate_sweep_steps: + - 1 + - 2 + - 3 + flow_integrate_train_steps: 2 + flow_integrate_min_t: 0.01 + flow_integrate_schedule: uniform + flow_integrate_t_hi: 0.99 + flow_integrate_power: 4.0 + flow_val_max_n_probe_per_pass: 400000 + flow_val_log_readout: false + sb_sigma: 0.1 + sb_noise_mode: isotropic + sb_per_l_sigma_mode: inv_sqrt_2lp1 + sb_per_l_sigma_scales: null +train: + seed: 0 + deterministic: true + run_post_fit_test: false + trainer: + fast_dev_run: false + accelerator: gpu + strategy: ddp_find_unused_parameters_true + devices: 4 + precision: 32 + max_epochs: 100000 + max_steps: 110000 + num_sanity_val_steps: 2 + gradient_clip_val: 0.5 + val_check_interval: 1.0 + deterministic: ${train.deterministic} + optim: + _target_: torch.optim.Adam + lr: 0.001 + betas: + - 0.9 + - 0.999 + eps: 1.0e-08 + weight_decay: 0.0 + lr_scheduler: + _target_: scdp.model.utils.PowerDecayScheduler + warmup_steps: 1000 + alpha: 0.96 + beta: 4433 + lr_schedule_freq: 1 + ema: + decay: 0.995 + restore: + ckpt_or_run_path: null + mode: null + weights_only: false + monitor: + metric: nmape/val_flow + mode: min + callbacks: + - _target_: lightning.pytorch.callbacks.EarlyStopping + patience: 10000 + verbose: false + monitor: ${train.monitor.metric} + mode: ${train.monitor.mode} + - _target_: lightning.pytorch.callbacks.ModelCheckpoint + dirpath: ${core.storage_dir} + save_top_k: 2 + save_last: true + verbose: false + monitor: ${train.monitor.metric} + mode: ${train.monitor.mode} + - _target_: lightning.pytorch.callbacks.LearningRateMonitor + logging_interval: step + log_momentum: false + - _target_: lightning.pytorch.callbacks.progress.tqdm_progress.TQDMProgressBar + refresh_rate: 20 + logging: + upload: + run_files: false + source: true + wandb: + name: ${core.expname} + project: ${core.project_name} + entity: null + log_model: ${..upload.run_files} + mode: online + tags: ${core.tags} + resume: allow + wandb_watch: + log: null + log_freq: 100 +core: + expname: md_phenol_k3l3_slim_10k100k + project_name: orbflow + storage_dir: ${core.expname} + version: 0.0.1 + tags: null +conventions: + x_key: x + y_key: 'y' diff --git a/md_phenol_k3l3_slim_10k100k/epoch=1748-step=110000.ckpt b/md_phenol_k3l3_slim_10k100k/epoch=1748-step=110000.ckpt new file mode 100644 index 0000000000000000000000000000000000000000..7fe590821e3549f5a833219027dfd7a5a3ae3b09 --- /dev/null +++ b/md_phenol_k3l3_slim_10k100k/epoch=1748-step=110000.ckpt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:37fa2defb2da0615e627725c16261cde54b7fe837aadca4a3f7201d59c56b5c7 +size 154837934 diff --git a/md_phenol_k3l3_slim_10k100k/metadata.json b/md_phenol_k3l3_slim_10k100k/metadata.json new file mode 100644 index 0000000000000000000000000000000000000000..b114cc6fca56ac41c317dfe1d4a1d80920b64acc --- /dev/null +++ b/md_phenol_k3l3_slim_10k100k/metadata.json @@ -0,0 +1 @@ +{"target_mean": 0.059311117976903915, "target_var": 0.1463594138622284, "avg_num_neighbors": 12, "unique_atom_types": [8, 1, 6, 0]} \ No newline at end of file diff --git a/md_phenol_k3l3_slim_10k100k_seed42/config.yaml b/md_phenol_k3l3_slim_10k100k_seed42/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..9c658af4726d000ce8e8c32586ef68f0efa04db7 --- /dev/null +++ b/md_phenol_k3l3_slim_10k100k_seed42/config.yaml @@ -0,0 +1,196 @@ +data: + _target_: scdp.data.datamodule.ProbeDataModule + dataset: + _target_: scdp.data.dataset.LmdbDataset + path: ${oc.env:DATAPATH}/MD/scdp_lmdb/phenol + gt_coeffs_path: ${oc.env:DATAPATH}/MD/scdp_lmdb_gt_ridge_beta1.3/phenol + sad_coeffs_path: null + split_file: ${oc.env:DATAPATH}/MD/scdp_lmdb/phenol/datasplits.json + num_workers: + train: 8 + val: 8 + test: 8 + batch_size: + train: 4 + val: 4 + test: 4 + n_probe: + train: 125000 + val: 125000 + test: 125000 +model: + model: + _target_: scdp.model.equiformer_v3.EquiformerV3 + enable_flow_coeff_entangle: true + flow_bridge_time_dim: ${..flow_time_dim} + max_num_elements: 100 + num_layers: 3 + lmax_list: + - 3 + mmax_list: + - 2 + cutoff: 6.0 + sphere_channels: 96 + hidden_channels: 192 + edge_channels: 96 + num_radial_basis: 300 + distance_resolution: 0.02 + basis_width_scalar: 2.0 + attn_hidden_channels: 64 + num_heads: 8 + attn_alpha_channels: 32 + attn_value_channels: 16 + attn_grid_resolution_list: + - 20 + - 8 + ffn_grid_resolution_list: + - 20 + - 20 + norm_type: merge_layer_norm + use_atom_edge_embedding: true + use_envelope: true + use_attn_renorm: true + use_add_merge: false + use_grid_mlp: true + attn_activation: sep-merge_gates2_swiglu + ffn_activation: sep-merge_gates2_swiglu + alpha_drop: 0.0 + attn_mask_rate: 0.0 + attn_weights_drop: 0.0 + value_drop: 0.0 + drop_path_rate: 0.0 + proj_drop: 0.0 + ffn_drop: 0.0 + gradient_checkpointing_block_list: null + _target_: scdp.model.module_flow.ChgFlowMatchingModule + criterion: mae + vnode_elem: 8 + pbc: false + dft_basis_set: def2-qzvppd + dft_wt_aug: true + concat_basis: false + beta: 1.3 + lmax_restriction: true + lmax_relax: 0 + uncontracted: true + orb_cutoff: 5.0 + expo_trainable: false + magnitude_weighting: false + density_synthesis_mode: linear + density_eval_mode: realspace + hybrid_fft_zeta_max: 5.0 + hybrid_fft_phase_sign: -1.0 + hybrid_fft_chunk_G: 65536 + flow_velocity_mlp_hidden: 512 + flow_time_dim: 64 + flow_head: escn + flow_e3nn_hidden_multiplier: 2 + bridge_mode: cfm + flow_loss_mode: endpoint + flow_endpoint_loss: integrated_density + flow_combined_integrated_weight: 1.0 + flow_target_mode: gt + flow_use_t_scale: false + flow_t_scale_max: 0.9 + flow_prior_mode: irrep_gaussian + flow_prior_sigma: 1.9846056192284764 + flow_prior_mu: 0.005037187932829464 + flow_prior_nelectron_normalize: false + flow_nelectron_mc_max_probes: 0 + flow_val_integrate_steps: 2 + flow_val_integrate_sweep_steps: + - 1 + - 2 + - 3 + flow_integrate_train_steps: 2 + flow_integrate_min_t: 0.01 + flow_integrate_schedule: uniform + flow_integrate_t_hi: 0.99 + flow_integrate_power: 4.0 + flow_val_max_n_probe_per_pass: 400000 + flow_val_log_readout: false + sb_sigma: 0.1 + sb_noise_mode: isotropic + sb_per_l_sigma_mode: inv_sqrt_2lp1 + sb_per_l_sigma_scales: null +train: + seed: 42 + deterministic: true + run_post_fit_test: false + trainer: + fast_dev_run: false + accelerator: gpu + strategy: ddp_find_unused_parameters_true + devices: 4 + precision: 32 + max_epochs: 100000 + max_steps: 110000 + num_sanity_val_steps: 2 + gradient_clip_val: 0.5 + val_check_interval: 1.0 + deterministic: ${train.deterministic} + optim: + _target_: torch.optim.Adam + lr: 0.001 + betas: + - 0.9 + - 0.999 + eps: 1.0e-08 + weight_decay: 0.0 + lr_scheduler: + _target_: scdp.model.utils.PowerDecayScheduler + warmup_steps: 1000 + alpha: 0.96 + beta: 4433 + lr_schedule_freq: 1 + ema: + decay: 0.995 + restore: + ckpt_or_run_path: null + mode: null + weights_only: false + monitor: + metric: nmape/val_flow + mode: min + callbacks: + - _target_: lightning.pytorch.callbacks.EarlyStopping + patience: 10000 + verbose: false + monitor: ${train.monitor.metric} + mode: ${train.monitor.mode} + - _target_: lightning.pytorch.callbacks.ModelCheckpoint + dirpath: ${core.storage_dir} + save_top_k: 2 + save_last: true + verbose: false + monitor: ${train.monitor.metric} + mode: ${train.monitor.mode} + - _target_: lightning.pytorch.callbacks.LearningRateMonitor + logging_interval: step + log_momentum: false + - _target_: lightning.pytorch.callbacks.progress.tqdm_progress.TQDMProgressBar + refresh_rate: 20 + logging: + upload: + run_files: false + source: true + wandb: + name: ${core.expname} + project: ${core.project_name} + entity: null + log_model: ${..upload.run_files} + mode: online + tags: ${core.tags} + resume: allow + wandb_watch: + log: null + log_freq: 100 +core: + expname: md_phenol_k3l3_slim_10k100k_seed42 + project_name: orbflow + storage_dir: ${core.expname} + version: 0.0.1 + tags: null +conventions: + x_key: x + y_key: 'y' diff --git a/md_phenol_k3l3_slim_10k100k_seed42/epoch=712-step=44856-v1.ckpt b/md_phenol_k3l3_slim_10k100k_seed42/epoch=712-step=44856-v1.ckpt new file mode 100644 index 0000000000000000000000000000000000000000..80bad46c73934149b978eb3b2c07f52ff1e58525 --- /dev/null +++ b/md_phenol_k3l3_slim_10k100k_seed42/epoch=712-step=44856-v1.ckpt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4f06f639fa3ccfcd032f5e245a8fe10aae8219220256d3131ebe14956c40426a +size 154838514 diff --git a/md_phenol_k3l3_slim_10k100k_seed42/metadata.json b/md_phenol_k3l3_slim_10k100k_seed42/metadata.json new file mode 100644 index 0000000000000000000000000000000000000000..b114cc6fca56ac41c317dfe1d4a1d80920b64acc --- /dev/null +++ b/md_phenol_k3l3_slim_10k100k_seed42/metadata.json @@ -0,0 +1 @@ +{"target_mean": 0.059311117976903915, "target_var": 0.1463594138622284, "avg_num_neighbors": 12, "unique_atom_types": [8, 1, 6, 0]} \ No newline at end of file diff --git a/md_phenol_k3l3_slim_10k100k_seed505/config.yaml b/md_phenol_k3l3_slim_10k100k_seed505/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..2fb952bdd67a9fd15fa4c4b11b85d5e6ab53b2c9 --- /dev/null +++ b/md_phenol_k3l3_slim_10k100k_seed505/config.yaml @@ -0,0 +1,196 @@ +data: + _target_: scdp.data.datamodule.ProbeDataModule + dataset: + _target_: scdp.data.dataset.LmdbDataset + path: ${oc.env:DATAPATH}/MD/scdp_lmdb/phenol + gt_coeffs_path: ${oc.env:DATAPATH}/MD/scdp_lmdb_gt_ridge_beta1.3/phenol + sad_coeffs_path: null + split_file: ${oc.env:DATAPATH}/MD/scdp_lmdb/phenol/datasplits.json + num_workers: + train: 8 + val: 8 + test: 8 + batch_size: + train: 4 + val: 4 + test: 4 + n_probe: + train: 125000 + val: 125000 + test: 125000 +model: + model: + _target_: scdp.model.equiformer_v3.EquiformerV3 + enable_flow_coeff_entangle: true + flow_bridge_time_dim: ${..flow_time_dim} + max_num_elements: 100 + num_layers: 3 + lmax_list: + - 3 + mmax_list: + - 2 + cutoff: 6.0 + sphere_channels: 96 + hidden_channels: 192 + edge_channels: 96 + num_radial_basis: 300 + distance_resolution: 0.02 + basis_width_scalar: 2.0 + attn_hidden_channels: 64 + num_heads: 8 + attn_alpha_channels: 32 + attn_value_channels: 16 + attn_grid_resolution_list: + - 20 + - 8 + ffn_grid_resolution_list: + - 20 + - 20 + norm_type: merge_layer_norm + use_atom_edge_embedding: true + use_envelope: true + use_attn_renorm: true + use_add_merge: false + use_grid_mlp: true + attn_activation: sep-merge_gates2_swiglu + ffn_activation: sep-merge_gates2_swiglu + alpha_drop: 0.0 + attn_mask_rate: 0.0 + attn_weights_drop: 0.0 + value_drop: 0.0 + drop_path_rate: 0.0 + proj_drop: 0.0 + ffn_drop: 0.0 + gradient_checkpointing_block_list: null + _target_: scdp.model.module_flow.ChgFlowMatchingModule + criterion: mae + vnode_elem: 8 + pbc: false + dft_basis_set: def2-qzvppd + dft_wt_aug: true + concat_basis: false + beta: 1.3 + lmax_restriction: true + lmax_relax: 0 + uncontracted: true + orb_cutoff: 5.0 + expo_trainable: false + magnitude_weighting: false + density_synthesis_mode: linear + density_eval_mode: realspace + hybrid_fft_zeta_max: 5.0 + hybrid_fft_phase_sign: -1.0 + hybrid_fft_chunk_G: 65536 + flow_velocity_mlp_hidden: 512 + flow_time_dim: 64 + flow_head: escn + flow_e3nn_hidden_multiplier: 2 + bridge_mode: cfm + flow_loss_mode: endpoint + flow_endpoint_loss: integrated_density + flow_combined_integrated_weight: 1.0 + flow_target_mode: gt + flow_use_t_scale: false + flow_t_scale_max: 0.9 + flow_prior_mode: irrep_gaussian + flow_prior_sigma: 1.9846056192284764 + flow_prior_mu: 0.005037187932829464 + flow_prior_nelectron_normalize: false + flow_nelectron_mc_max_probes: 0 + flow_val_integrate_steps: 2 + flow_val_integrate_sweep_steps: + - 1 + - 2 + - 3 + flow_integrate_train_steps: 2 + flow_integrate_min_t: 0.01 + flow_integrate_schedule: uniform + flow_integrate_t_hi: 0.99 + flow_integrate_power: 4.0 + flow_val_max_n_probe_per_pass: 400000 + flow_val_log_readout: false + sb_sigma: 0.1 + sb_noise_mode: isotropic + sb_per_l_sigma_mode: inv_sqrt_2lp1 + sb_per_l_sigma_scales: null +train: + seed: 505 + deterministic: true + run_post_fit_test: false + trainer: + fast_dev_run: false + accelerator: gpu + strategy: ddp_find_unused_parameters_true + devices: 2 + precision: 32 + max_epochs: 100000 + max_steps: 110000 + num_sanity_val_steps: 2 + gradient_clip_val: 0.5 + val_check_interval: 1.0 + deterministic: ${train.deterministic} + optim: + _target_: torch.optim.Adam + lr: 0.001 + betas: + - 0.9 + - 0.999 + eps: 1.0e-08 + weight_decay: 0.0 + lr_scheduler: + _target_: scdp.model.utils.PowerDecayScheduler + warmup_steps: 1000 + alpha: 0.96 + beta: 4433 + lr_schedule_freq: 1 + ema: + decay: 0.995 + restore: + ckpt_or_run_path: null + mode: null + weights_only: false + monitor: + metric: nmape/val_flow + mode: min + callbacks: + - _target_: lightning.pytorch.callbacks.EarlyStopping + patience: 10000 + verbose: false + monitor: ${train.monitor.metric} + mode: ${train.monitor.mode} + - _target_: lightning.pytorch.callbacks.ModelCheckpoint + dirpath: ${core.storage_dir} + save_top_k: 2 + save_last: true + verbose: false + monitor: ${train.monitor.metric} + mode: ${train.monitor.mode} + - _target_: lightning.pytorch.callbacks.LearningRateMonitor + logging_interval: step + log_momentum: false + - _target_: lightning.pytorch.callbacks.progress.tqdm_progress.TQDMProgressBar + refresh_rate: 20 + logging: + upload: + run_files: false + source: true + wandb: + name: ${core.expname} + project: ${core.project_name} + entity: null + log_model: ${..upload.run_files} + mode: online + tags: ${core.tags} + resume: allow + wandb_watch: + log: null + log_freq: 100 +core: + expname: md_phenol_k3l3_slim_10k100k_seed505 + project_name: orbflow + storage_dir: ${core.expname} + version: 0.0.1 + tags: null +conventions: + x_key: x + y_key: 'y' diff --git a/md_phenol_k3l3_slim_10k100k_seed505/epoch=477-step=60102.ckpt b/md_phenol_k3l3_slim_10k100k_seed505/epoch=477-step=60102.ckpt new file mode 100644 index 0000000000000000000000000000000000000000..c593dc925d7ded95f49b95f7cc2885843b7df5f7 --- /dev/null +++ b/md_phenol_k3l3_slim_10k100k_seed505/epoch=477-step=60102.ckpt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cf856c66cb543c94a6f5b37b8105c6bae357487ebc8d3f911e8ed097577d8883 +size 154836454 diff --git a/md_phenol_k3l3_slim_10k100k_seed505/metadata.json b/md_phenol_k3l3_slim_10k100k_seed505/metadata.json new file mode 100644 index 0000000000000000000000000000000000000000..b114cc6fca56ac41c317dfe1d4a1d80920b64acc --- /dev/null +++ b/md_phenol_k3l3_slim_10k100k_seed505/metadata.json @@ -0,0 +1 @@ +{"target_mean": 0.059311117976903915, "target_var": 0.1463594138622284, "avg_num_neighbors": 12, "unique_atom_types": [8, 1, 6, 0]} \ No newline at end of file diff --git a/md_resorcinol_k3l3_slim_10k100k/config.yaml b/md_resorcinol_k3l3_slim_10k100k/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..6372bdc4366c2923b3a1999accb0e7f23a220cb7 --- /dev/null +++ b/md_resorcinol_k3l3_slim_10k100k/config.yaml @@ -0,0 +1,191 @@ +data: + _target_: scdp.data.datamodule.ProbeDataModule + dataset: + _target_: scdp.data.dataset.LmdbDataset + path: ${oc.env:DATAPATH}/MD/scdp_lmdb/resorcinol + gt_coeffs_path: ${oc.env:DATAPATH}/MD/scdp_lmdb_gt_ridge_beta1.3/resorcinol + sad_coeffs_path: null + split_file: ${oc.env:DATAPATH}/MD/scdp_lmdb/resorcinol/datasplits.json + num_workers: + train: 8 + val: 8 + test: 8 + batch_size: + train: 4 + val: 4 + test: 4 + n_probe: + train: 125000 + val: 125000 + test: 125000 +model: + model: + _target_: scdp.model.equiformer_v3.EquiformerV3 + enable_flow_coeff_entangle: true + flow_bridge_time_dim: ${..flow_time_dim} + max_num_elements: 100 + num_layers: 3 + lmax_list: + - 3 + mmax_list: + - 2 + cutoff: 6.0 + sphere_channels: 96 + hidden_channels: 192 + edge_channels: 96 + num_radial_basis: 300 + distance_resolution: 0.02 + basis_width_scalar: 2.0 + attn_hidden_channels: 64 + num_heads: 8 + attn_alpha_channels: 32 + attn_value_channels: 16 + attn_grid_resolution_list: + - 20 + - 8 + ffn_grid_resolution_list: + - 20 + - 20 + norm_type: merge_layer_norm + use_atom_edge_embedding: true + use_envelope: true + use_attn_renorm: true + use_add_merge: false + use_grid_mlp: true + attn_activation: sep-merge_gates2_swiglu + ffn_activation: sep-merge_gates2_swiglu + alpha_drop: 0.0 + attn_mask_rate: 0.0 + attn_weights_drop: 0.0 + value_drop: 0.0 + drop_path_rate: 0.0 + proj_drop: 0.0 + ffn_drop: 0.0 + gradient_checkpointing_block_list: null + _target_: scdp.model.module_flow.ChgFlowMatchingModule + criterion: mae + vnode_elem: 8 + pbc: false + dft_basis_set: def2-qzvppd + dft_wt_aug: true + concat_basis: false + beta: 1.3 + lmax_restriction: true + lmax_relax: 0 + uncontracted: true + orb_cutoff: 5.0 + expo_trainable: false + magnitude_weighting: false + density_synthesis_mode: linear + flow_velocity_mlp_hidden: 512 + flow_time_dim: 64 + flow_head: escn + flow_e3nn_hidden_multiplier: 2 + bridge_mode: cfm + flow_loss_mode: endpoint + flow_endpoint_loss: integrated_density + flow_target_mode: gt + flow_use_t_scale: false + flow_t_scale_max: 0.9 + flow_prior_mode: irrep_gaussian + flow_prior_sigma: 2.0182929296544465 + flow_prior_mu: 0.004724867169487745 + flow_prior_nelectron_normalize: false + flow_nelectron_mc_max_probes: 0 + flow_val_integrate_steps: 2 + flow_val_integrate_sweep_steps: + - 1 + - 2 + - 3 + flow_integrate_train_steps: 2 + flow_integrate_min_t: 0.01 + flow_integrate_schedule: uniform + flow_integrate_t_hi: 0.99 + flow_integrate_power: 4.0 + flow_val_max_n_probe_per_pass: 400000 + flow_val_log_readout: false + sb_sigma: 0.1 + sb_noise_mode: isotropic + sb_per_l_sigma_mode: inv_sqrt_2lp1 + sb_per_l_sigma_scales: null +train: + seed: 0 + deterministic: true + run_post_fit_test: false + trainer: + fast_dev_run: false + accelerator: gpu + strategy: ddp_find_unused_parameters_true + devices: 4 + precision: 32 + max_epochs: 100000 + max_steps: 110000 + num_sanity_val_steps: 2 + gradient_clip_val: 0.5 + val_check_interval: 1.0 + deterministic: ${train.deterministic} + optim: + _target_: torch.optim.Adam + lr: 0.001 + betas: + - 0.9 + - 0.999 + eps: 1.0e-08 + weight_decay: 0.0 + lr_scheduler: + _target_: scdp.model.utils.PowerDecayScheduler + warmup_steps: 1000 + alpha: 0.96 + beta: 4433 + lr_schedule_freq: 1 + ema: + decay: 0.995 + restore: + ckpt_or_run_path: null + mode: null + weights_only: false + monitor: + metric: nmape/val_flow + mode: min + callbacks: + - _target_: lightning.pytorch.callbacks.EarlyStopping + patience: 10000 + verbose: false + monitor: ${train.monitor.metric} + mode: ${train.monitor.mode} + - _target_: lightning.pytorch.callbacks.ModelCheckpoint + dirpath: ${core.storage_dir} + save_top_k: 2 + save_last: true + verbose: false + monitor: ${train.monitor.metric} + mode: ${train.monitor.mode} + - _target_: lightning.pytorch.callbacks.LearningRateMonitor + logging_interval: step + log_momentum: false + - _target_: lightning.pytorch.callbacks.progress.tqdm_progress.TQDMProgressBar + refresh_rate: 20 + logging: + upload: + run_files: false + source: true + wandb: + name: ${core.expname} + project: ${core.project_name} + entity: null + log_model: ${..upload.run_files} + mode: online + tags: ${core.tags} + resume: allow + wandb_watch: + log: null + log_freq: 100 +core: + expname: md_resorcinol_k3l3_slim_10k100k + project_name: orbflow + storage_dir: ${core.expname} + version: 0.0.1 + tags: null +conventions: + x_key: x + y_key: 'y' diff --git a/md_resorcinol_k3l3_slim_10k100k/epoch=698-step=43974.ckpt b/md_resorcinol_k3l3_slim_10k100k/epoch=698-step=43974.ckpt new file mode 100644 index 0000000000000000000000000000000000000000..4fb9c432c47bc3b0c6bec8494257c86d39d0251e --- /dev/null +++ b/md_resorcinol_k3l3_slim_10k100k/epoch=698-step=43974.ckpt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1b8c7b823cf4c1390b16482e2d5cf64cf8ffd5d4cc0edfa37fa190c56884f68d +size 154836262 diff --git a/md_resorcinol_k3l3_slim_10k100k/metadata.json b/md_resorcinol_k3l3_slim_10k100k/metadata.json new file mode 100644 index 0000000000000000000000000000000000000000..ccfb5e839b7605dd742c88013f8775c1e384ccb6 --- /dev/null +++ b/md_resorcinol_k3l3_slim_10k100k/metadata.json @@ -0,0 +1 @@ +{"target_mean": 0.06919773668050766, "target_var": 0.20266202092170715, "avg_num_neighbors": 13, "unique_atom_types": [8, 1, 6, 0]} \ No newline at end of file diff --git a/md_resorcinol_k3l3_slim_10k100k_seed42/config.yaml b/md_resorcinol_k3l3_slim_10k100k_seed42/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..14b151de50796b5dcabe8ff8b55ea00bd86dac79 --- /dev/null +++ b/md_resorcinol_k3l3_slim_10k100k_seed42/config.yaml @@ -0,0 +1,196 @@ +data: + _target_: scdp.data.datamodule.ProbeDataModule + dataset: + _target_: scdp.data.dataset.LmdbDataset + path: ${oc.env:DATAPATH}/MD/scdp_lmdb/resorcinol + gt_coeffs_path: ${oc.env:DATAPATH}/MD/scdp_lmdb_gt_ridge_beta1.3/resorcinol + sad_coeffs_path: null + split_file: ${oc.env:DATAPATH}/MD/scdp_lmdb/resorcinol/datasplits.json + num_workers: + train: 8 + val: 8 + test: 8 + batch_size: + train: 4 + val: 4 + test: 4 + n_probe: + train: 125000 + val: 125000 + test: 125000 +model: + model: + _target_: scdp.model.equiformer_v3.EquiformerV3 + enable_flow_coeff_entangle: true + flow_bridge_time_dim: ${..flow_time_dim} + max_num_elements: 100 + num_layers: 3 + lmax_list: + - 3 + mmax_list: + - 2 + cutoff: 6.0 + sphere_channels: 96 + hidden_channels: 192 + edge_channels: 96 + num_radial_basis: 300 + distance_resolution: 0.02 + basis_width_scalar: 2.0 + attn_hidden_channels: 64 + num_heads: 8 + attn_alpha_channels: 32 + attn_value_channels: 16 + attn_grid_resolution_list: + - 20 + - 8 + ffn_grid_resolution_list: + - 20 + - 20 + norm_type: merge_layer_norm + use_atom_edge_embedding: true + use_envelope: true + use_attn_renorm: true + use_add_merge: false + use_grid_mlp: true + attn_activation: sep-merge_gates2_swiglu + ffn_activation: sep-merge_gates2_swiglu + alpha_drop: 0.0 + attn_mask_rate: 0.0 + attn_weights_drop: 0.0 + value_drop: 0.0 + drop_path_rate: 0.0 + proj_drop: 0.0 + ffn_drop: 0.0 + gradient_checkpointing_block_list: null + _target_: scdp.model.module_flow.ChgFlowMatchingModule + criterion: mae + vnode_elem: 8 + pbc: false + dft_basis_set: def2-qzvppd + dft_wt_aug: true + concat_basis: false + beta: 1.3 + lmax_restriction: true + lmax_relax: 0 + uncontracted: true + orb_cutoff: 5.0 + expo_trainable: false + magnitude_weighting: false + density_synthesis_mode: linear + density_eval_mode: realspace + hybrid_fft_zeta_max: 5.0 + hybrid_fft_phase_sign: -1.0 + hybrid_fft_chunk_G: 65536 + flow_velocity_mlp_hidden: 512 + flow_time_dim: 64 + flow_head: escn + flow_e3nn_hidden_multiplier: 2 + bridge_mode: cfm + flow_loss_mode: endpoint + flow_endpoint_loss: integrated_density + flow_combined_integrated_weight: 1.0 + flow_target_mode: gt + flow_use_t_scale: false + flow_t_scale_max: 0.9 + flow_prior_mode: irrep_gaussian + flow_prior_sigma: 2.0182929296544465 + flow_prior_mu: 0.004724867169487745 + flow_prior_nelectron_normalize: false + flow_nelectron_mc_max_probes: 0 + flow_val_integrate_steps: 2 + flow_val_integrate_sweep_steps: + - 1 + - 2 + - 3 + flow_integrate_train_steps: 2 + flow_integrate_min_t: 0.01 + flow_integrate_schedule: uniform + flow_integrate_t_hi: 0.99 + flow_integrate_power: 4.0 + flow_val_max_n_probe_per_pass: 400000 + flow_val_log_readout: false + sb_sigma: 0.1 + sb_noise_mode: isotropic + sb_per_l_sigma_mode: inv_sqrt_2lp1 + sb_per_l_sigma_scales: null +train: + seed: 42 + deterministic: true + run_post_fit_test: false + trainer: + fast_dev_run: false + accelerator: gpu + strategy: ddp_find_unused_parameters_true + devices: 4 + precision: 32 + max_epochs: 100000 + max_steps: 110000 + num_sanity_val_steps: 2 + gradient_clip_val: 0.5 + val_check_interval: 1.0 + deterministic: ${train.deterministic} + optim: + _target_: torch.optim.Adam + lr: 0.001 + betas: + - 0.9 + - 0.999 + eps: 1.0e-08 + weight_decay: 0.0 + lr_scheduler: + _target_: scdp.model.utils.PowerDecayScheduler + warmup_steps: 1000 + alpha: 0.96 + beta: 4433 + lr_schedule_freq: 1 + ema: + decay: 0.995 + restore: + ckpt_or_run_path: null + mode: null + weights_only: false + monitor: + metric: nmape/val_flow + mode: min + callbacks: + - _target_: lightning.pytorch.callbacks.EarlyStopping + patience: 10000 + verbose: false + monitor: ${train.monitor.metric} + mode: ${train.monitor.mode} + - _target_: lightning.pytorch.callbacks.ModelCheckpoint + dirpath: ${core.storage_dir} + save_top_k: 2 + save_last: true + verbose: false + monitor: ${train.monitor.metric} + mode: ${train.monitor.mode} + - _target_: lightning.pytorch.callbacks.LearningRateMonitor + logging_interval: step + log_momentum: false + - _target_: lightning.pytorch.callbacks.progress.tqdm_progress.TQDMProgressBar + refresh_rate: 20 + logging: + upload: + run_files: false + source: true + wandb: + name: ${core.expname} + project: ${core.project_name} + entity: null + log_model: ${..upload.run_files} + mode: online + tags: ${core.tags} + resume: allow + wandb_watch: + log: null + log_freq: 100 +core: + expname: md_resorcinol_k3l3_slim_10k100k_seed42 + project_name: orbflow + storage_dir: ${core.expname} + version: 0.0.1 + tags: null +conventions: + x_key: x + y_key: 'y' diff --git a/md_resorcinol_k3l3_slim_10k100k_seed42/epoch=1748-step=110000.ckpt b/md_resorcinol_k3l3_slim_10k100k_seed42/epoch=1748-step=110000.ckpt new file mode 100644 index 0000000000000000000000000000000000000000..bce2934a19d6961f02ec9ec403a5cd62a6b19f73 --- /dev/null +++ b/md_resorcinol_k3l3_slim_10k100k_seed42/epoch=1748-step=110000.ckpt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:254294e0348a387f8f1e4cd1f4e1fce55c29e9eed0315e828fd9782b37478938 +size 154837998 diff --git a/md_resorcinol_k3l3_slim_10k100k_seed42/metadata.json b/md_resorcinol_k3l3_slim_10k100k_seed42/metadata.json new file mode 100644 index 0000000000000000000000000000000000000000..ccfb5e839b7605dd742c88013f8775c1e384ccb6 --- /dev/null +++ b/md_resorcinol_k3l3_slim_10k100k_seed42/metadata.json @@ -0,0 +1 @@ +{"target_mean": 0.06919773668050766, "target_var": 0.20266202092170715, "avg_num_neighbors": 13, "unique_atom_types": [8, 1, 6, 0]} \ No newline at end of file diff --git a/md_resorcinol_k3l3_slim_10k100k_seed505/config.yaml b/md_resorcinol_k3l3_slim_10k100k_seed505/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..a2fad90fcd3cd6388c6a19516f354fd31aac757e --- /dev/null +++ b/md_resorcinol_k3l3_slim_10k100k_seed505/config.yaml @@ -0,0 +1,196 @@ +data: + _target_: scdp.data.datamodule.ProbeDataModule + dataset: + _target_: scdp.data.dataset.LmdbDataset + path: ${oc.env:DATAPATH}/MD/scdp_lmdb/resorcinol + gt_coeffs_path: ${oc.env:DATAPATH}/MD/scdp_lmdb_gt_ridge_beta1.3/resorcinol + sad_coeffs_path: null + split_file: ${oc.env:DATAPATH}/MD/scdp_lmdb/resorcinol/datasplits.json + num_workers: + train: 8 + val: 8 + test: 8 + batch_size: + train: 4 + val: 4 + test: 4 + n_probe: + train: 125000 + val: 125000 + test: 125000 +model: + model: + _target_: scdp.model.equiformer_v3.EquiformerV3 + enable_flow_coeff_entangle: true + flow_bridge_time_dim: ${..flow_time_dim} + max_num_elements: 100 + num_layers: 3 + lmax_list: + - 3 + mmax_list: + - 2 + cutoff: 6.0 + sphere_channels: 96 + hidden_channels: 192 + edge_channels: 96 + num_radial_basis: 300 + distance_resolution: 0.02 + basis_width_scalar: 2.0 + attn_hidden_channels: 64 + num_heads: 8 + attn_alpha_channels: 32 + attn_value_channels: 16 + attn_grid_resolution_list: + - 20 + - 8 + ffn_grid_resolution_list: + - 20 + - 20 + norm_type: merge_layer_norm + use_atom_edge_embedding: true + use_envelope: true + use_attn_renorm: true + use_add_merge: false + use_grid_mlp: true + attn_activation: sep-merge_gates2_swiglu + ffn_activation: sep-merge_gates2_swiglu + alpha_drop: 0.0 + attn_mask_rate: 0.0 + attn_weights_drop: 0.0 + value_drop: 0.0 + drop_path_rate: 0.0 + proj_drop: 0.0 + ffn_drop: 0.0 + gradient_checkpointing_block_list: null + _target_: scdp.model.module_flow.ChgFlowMatchingModule + criterion: mae + vnode_elem: 8 + pbc: false + dft_basis_set: def2-qzvppd + dft_wt_aug: true + concat_basis: false + beta: 1.3 + lmax_restriction: true + lmax_relax: 0 + uncontracted: true + orb_cutoff: 5.0 + expo_trainable: false + magnitude_weighting: false + density_synthesis_mode: linear + density_eval_mode: realspace + hybrid_fft_zeta_max: 5.0 + hybrid_fft_phase_sign: -1.0 + hybrid_fft_chunk_G: 65536 + flow_velocity_mlp_hidden: 512 + flow_time_dim: 64 + flow_head: escn + flow_e3nn_hidden_multiplier: 2 + bridge_mode: cfm + flow_loss_mode: endpoint + flow_endpoint_loss: integrated_density + flow_combined_integrated_weight: 1.0 + flow_target_mode: gt + flow_use_t_scale: false + flow_t_scale_max: 0.9 + flow_prior_mode: irrep_gaussian + flow_prior_sigma: 2.0182929296544465 + flow_prior_mu: 0.004724867169487745 + flow_prior_nelectron_normalize: false + flow_nelectron_mc_max_probes: 0 + flow_val_integrate_steps: 2 + flow_val_integrate_sweep_steps: + - 1 + - 2 + - 3 + flow_integrate_train_steps: 2 + flow_integrate_min_t: 0.01 + flow_integrate_schedule: uniform + flow_integrate_t_hi: 0.99 + flow_integrate_power: 4.0 + flow_val_max_n_probe_per_pass: 400000 + flow_val_log_readout: false + sb_sigma: 0.1 + sb_noise_mode: isotropic + sb_per_l_sigma_mode: inv_sqrt_2lp1 + sb_per_l_sigma_scales: null +train: + seed: 505 + deterministic: true + run_post_fit_test: false + trainer: + fast_dev_run: false + accelerator: gpu + strategy: ddp_find_unused_parameters_true + devices: 2 + precision: 32 + max_epochs: 100000 + max_steps: 110000 + num_sanity_val_steps: 2 + gradient_clip_val: 0.5 + val_check_interval: 1.0 + deterministic: ${train.deterministic} + optim: + _target_: torch.optim.Adam + lr: 0.001 + betas: + - 0.9 + - 0.999 + eps: 1.0e-08 + weight_decay: 0.0 + lr_scheduler: + _target_: scdp.model.utils.PowerDecayScheduler + warmup_steps: 1000 + alpha: 0.96 + beta: 4433 + lr_schedule_freq: 1 + ema: + decay: 0.995 + restore: + ckpt_or_run_path: null + mode: null + weights_only: false + monitor: + metric: nmape/val_flow + mode: min + callbacks: + - _target_: lightning.pytorch.callbacks.EarlyStopping + patience: 10000 + verbose: false + monitor: ${train.monitor.metric} + mode: ${train.monitor.mode} + - _target_: lightning.pytorch.callbacks.ModelCheckpoint + dirpath: ${core.storage_dir} + save_top_k: 2 + save_last: true + verbose: false + monitor: ${train.monitor.metric} + mode: ${train.monitor.mode} + - _target_: lightning.pytorch.callbacks.LearningRateMonitor + logging_interval: step + log_momentum: false + - _target_: lightning.pytorch.callbacks.progress.tqdm_progress.TQDMProgressBar + refresh_rate: 20 + logging: + upload: + run_files: false + source: true + wandb: + name: ${core.expname} + project: ${core.project_name} + entity: null + log_model: ${..upload.run_files} + mode: online + tags: ${core.tags} + resume: allow + wandb_watch: + log: null + log_freq: 100 +core: + expname: md_resorcinol_k3l3_slim_10k100k_seed505 + project_name: orbflow + storage_dir: ${core.expname} + version: 0.0.1 + tags: null +conventions: + x_key: x + y_key: 'y' diff --git a/md_resorcinol_k3l3_slim_10k100k_seed505/epoch=482-step=60732.ckpt b/md_resorcinol_k3l3_slim_10k100k_seed505/epoch=482-step=60732.ckpt new file mode 100644 index 0000000000000000000000000000000000000000..b82cc005281a7bb31d9a25ff3266b8776a16ab2b --- /dev/null +++ b/md_resorcinol_k3l3_slim_10k100k_seed505/epoch=482-step=60732.ckpt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f75ae5041057447440ef6502b06b782ac6b0014b2cfc1809a87037a296a04ea8 +size 154836454 diff --git a/md_resorcinol_k3l3_slim_10k100k_seed505/metadata.json b/md_resorcinol_k3l3_slim_10k100k_seed505/metadata.json new file mode 100644 index 0000000000000000000000000000000000000000..ccfb5e839b7605dd742c88013f8775c1e384ccb6 --- /dev/null +++ b/md_resorcinol_k3l3_slim_10k100k_seed505/metadata.json @@ -0,0 +1 @@ +{"target_mean": 0.06919773668050766, "target_var": 0.20266202092170715, "avg_num_neighbors": 13, "unique_atom_types": [8, 1, 6, 0]} \ No newline at end of file diff --git a/qm9_qhf_eqv3_gt_2ph_final/config.yaml b/qm9_qhf_eqv3_gt_2ph_final/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..c22c434cf5fe9f8fdc00018cc23821dff830b905 --- /dev/null +++ b/qm9_qhf_eqv3_gt_2ph_final/config.yaml @@ -0,0 +1,191 @@ +data: + _target_: scdp.data.datamodule.ProbeDataModule + dataset: + _target_: scdp.data.dataset.LmdbDataset + path: ${oc.env:DATAPATH}/lmdb + gt_coeffs_path: ${oc.env:DATAPATH}/lmdb_gt_ridge + sad_coeffs_path: null + split_file: ${oc.env:DATAPATH}/datasplits.json + gt_coeff_excluded_file: null + num_workers: + train: 8 + val: 8 + test: 8 + batch_size: + train: 4 + val: 4 + test: 4 + n_probe: + train: 60000 + val: 120000 + test: 120000 +model: + model: + _target_: scdp.model.equiformer_v3.EquiformerV3 + enable_flow_coeff_entangle: true + flow_bridge_time_dim: ${..flow_time_dim} + max_num_elements: 100 + num_layers: 8 + lmax_list: + - 6 + mmax_list: + - 2 + cutoff: 6.0 + sphere_channels: 128 + hidden_channels: 256 + edge_channels: 128 + num_radial_basis: 300 + distance_resolution: 0.02 + basis_width_scalar: 2.0 + attn_hidden_channels: 64 + num_heads: 8 + attn_alpha_channels: 32 + attn_value_channels: 16 + attn_grid_resolution_list: + - 20 + - 8 + ffn_grid_resolution_list: + - 20 + - 20 + norm_type: merge_layer_norm + use_atom_edge_embedding: true + use_envelope: true + use_attn_renorm: true + use_add_merge: false + use_grid_mlp: true + attn_activation: sep-merge_gates2_swiglu + ffn_activation: sep-merge_gates2_swiglu + alpha_drop: 0.0 + attn_mask_rate: 0.0 + attn_weights_drop: 0.0 + value_drop: 0.0 + drop_path_rate: 0.0 + proj_drop: 0.0 + ffn_drop: 0.0 + gradient_checkpointing_block_list: null + _target_: scdp.model.module_flow.ChgFlowMatchingModule + criterion: mae + vnode_elem: 8 + pbc: false + dft_basis_set: def2-qzvppd + dft_wt_aug: true + concat_basis: false + beta: 1.3 + lmax_restriction: true + lmax_relax: 0 + uncontracted: true + orb_cutoff: 5.0 + expo_trainable: false + magnitude_weighting: false + density_synthesis_mode: linear + flow_velocity_mlp_hidden: 512 + flow_time_dim: 64 + flow_head: escn + flow_e3nn_hidden_multiplier: 2 + bridge_mode: cfm + flow_loss_mode: endpoint + flow_endpoint_loss: integrated_density + flow_target_mode: gt + flow_use_t_scale: false + flow_t_scale_max: 0.9 + flow_prior_mode: irrep_gaussian + flow_prior_sigma: 0.85 + flow_prior_mu: 0.0025 + flow_prior_nelectron_normalize: false + flow_nelectron_mc_max_probes: 0 + flow_val_integrate_steps: 2 + flow_val_integrate_sweep_steps: + - 1 + - 2 + - 3 + flow_integrate_train_steps: 2 + flow_integrate_min_t: 0.01 + flow_integrate_schedule: uniform + flow_integrate_t_hi: 0.99 + flow_integrate_power: 4.0 + flow_val_max_n_probe_per_pass: 400000 + flow_val_log_readout: false + sb_sigma: 0.1 + sb_noise_mode: isotropic + sb_per_l_sigma_mode: inv_sqrt_2lp1 + sb_per_l_sigma_scales: null +train: + seed: 0 + deterministic: true + trainer: + fast_dev_run: false + accelerator: gpu + strategy: ddp_find_unused_parameters_true + devices: 8 + precision: 32 + max_epochs: 100000 + max_steps: 450000 + num_sanity_val_steps: 2 + gradient_clip_val: 0.5 + val_check_interval: 1.0 + deterministic: ${train.deterministic} + optim: + _target_: torch.optim.Adam + lr: 0.001 + betas: + - 0.9 + - 0.999 + eps: 1.0e-08 + weight_decay: 0.0 + lr_scheduler: + _target_: scdp.model.utils.PowerDecayScheduler + warmup_steps: 1000 + alpha: 0.96 + beta: 4433 + lr_schedule_freq: 1 + ema: + decay: 0.995 + restore: + ckpt_or_run_path: null + mode: null + weights_only: false + monitor: + metric: nmape/val_flow + mode: min + callbacks: + - _target_: lightning.pytorch.callbacks.EarlyStopping + patience: 10000 + verbose: false + monitor: ${train.monitor.metric} + mode: ${train.monitor.mode} + - _target_: lightning.pytorch.callbacks.ModelCheckpoint + dirpath: ${core.storage_dir} + save_top_k: 5 + save_last: true + verbose: false + monitor: ${train.monitor.metric} + mode: ${train.monitor.mode} + - _target_: lightning.pytorch.callbacks.LearningRateMonitor + logging_interval: step + log_momentum: false + - _target_: lightning.pytorch.callbacks.progress.tqdm_progress.TQDMProgressBar + refresh_rate: 20 + logging: + upload: + run_files: false + source: true + wandb: + name: ${core.expname} + project: ${core.project_name} + entity: null + log_model: ${..upload.run_files} + mode: online + tags: ${core.tags} + resume: allow + wandb_watch: + log: all + log_freq: 100 +core: + expname: qm9_qhf_eqv3_gt_2ph_final + project_name: orbflow + storage_dir: ${core.expname} + version: 0.0.1 + tags: null +conventions: + x_key: x + y_key: 'y' diff --git a/qm9_qhf_eqv3_gt_2ph_final/epoch=108-step=417960.ckpt b/qm9_qhf_eqv3_gt_2ph_final/epoch=108-step=417960.ckpt new file mode 100644 index 0000000000000000000000000000000000000000..58526426477e0336b18d51675aca7bd03294add2 --- /dev/null +++ b/qm9_qhf_eqv3_gt_2ph_final/epoch=108-step=417960.ckpt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:61037d2066018713e73ab4cc42d5cdc36eb04265560e4a6866777541fa44cb3a +size 1189366981 diff --git a/qm9_qhf_eqv3_gt_2ph_final/metadata.json b/qm9_qhf_eqv3_gt_2ph_final/metadata.json new file mode 100644 index 0000000000000000000000000000000000000000..736c96ed6c8f18570f24efc8d16e8ac49d3f7c6b --- /dev/null +++ b/qm9_qhf_eqv3_gt_2ph_final/metadata.json @@ -0,0 +1 @@ +{"target_mean": 0.07815587520599365, "target_var": 0.10440606623888016, "avg_num_neighbors": 17, "unique_atom_types": [0, 1, 6, 7, 8, 9]} \ No newline at end of file diff --git a/qm9_qhf_eqv3_gt_2ph_final_s123/config.yaml b/qm9_qhf_eqv3_gt_2ph_final_s123/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..eafc941934f9b0d93f3bd8a44481f15cf653229a --- /dev/null +++ b/qm9_qhf_eqv3_gt_2ph_final_s123/config.yaml @@ -0,0 +1,197 @@ +data: + _target_: scdp.data.datamodule.ProbeDataModule + dataset: + _target_: scdp.data.dataset.LmdbDataset + path: ${oc.env:DATAPATH}/lmdb + gt_coeffs_path: ${oc.env:DATAPATH}/lmdb_gt_ridge + sad_coeffs_path: null + split_file: ${oc.env:DATAPATH}/datasplits.json + gt_coeff_excluded_file: null + num_workers: + train: 8 + val: 8 + test: 8 + batch_size: + train: 4 + val: 4 + test: 4 + n_probe: + train: 60000 + val: 120000 + test: 120000 +model: + model: + _target_: scdp.model.equiformer_v3.EquiformerV3 + enable_flow_coeff_entangle: true + flow_bridge_time_dim: ${..flow_time_dim} + max_num_elements: 100 + num_layers: 8 + lmax_list: + - 6 + mmax_list: + - 2 + cutoff: 6.0 + sphere_channels: 128 + hidden_channels: 256 + edge_channels: 128 + num_radial_basis: 300 + distance_resolution: 0.02 + basis_width_scalar: 2.0 + attn_hidden_channels: 64 + num_heads: 8 + attn_alpha_channels: 32 + attn_value_channels: 16 + attn_grid_resolution_list: + - 20 + - 8 + ffn_grid_resolution_list: + - 20 + - 20 + norm_type: merge_layer_norm + use_atom_edge_embedding: true + use_envelope: true + use_attn_renorm: true + use_add_merge: false + use_grid_mlp: true + attn_activation: sep-merge_gates2_swiglu + ffn_activation: sep-merge_gates2_swiglu + alpha_drop: 0.0 + attn_mask_rate: 0.0 + attn_weights_drop: 0.0 + value_drop: 0.0 + drop_path_rate: 0.0 + proj_drop: 0.0 + ffn_drop: 0.0 + gradient_checkpointing_block_list: null + _target_: scdp.model.module_flow.ChgFlowMatchingModule + criterion: mae + vnode_elem: 8 + pbc: false + dft_basis_set: def2-qzvppd + dft_wt_aug: true + concat_basis: false + beta: 1.3 + lmax_restriction: true + lmax_relax: 0 + uncontracted: true + orb_cutoff: 5.0 + expo_trainable: false + magnitude_weighting: false + density_synthesis_mode: linear + density_eval_mode: realspace + hybrid_fft_zeta_max: 5.0 + hybrid_fft_phase_sign: -1.0 + hybrid_fft_chunk_G: 65536 + flow_velocity_mlp_hidden: 512 + flow_time_dim: 64 + flow_head: escn + flow_e3nn_hidden_multiplier: 2 + bridge_mode: cfm + flow_loss_mode: endpoint + flow_endpoint_loss: integrated_density + flow_combined_integrated_weight: 1.0 + flow_target_mode: gt + flow_use_t_scale: false + flow_t_scale_max: 0.9 + flow_prior_mode: irrep_gaussian + flow_prior_sigma: 0.85 + flow_prior_mu: 0.0025 + flow_prior_nelectron_normalize: false + flow_nelectron_mc_max_probes: 0 + flow_val_integrate_steps: 2 + flow_val_integrate_sweep_steps: + - 1 + - 2 + - 3 + flow_integrate_train_steps: 2 + flow_integrate_min_t: 0.01 + flow_integrate_schedule: uniform + flow_integrate_t_hi: 0.99 + flow_integrate_power: 4.0 + flow_val_max_n_probe_per_pass: 400000 + flow_val_log_readout: false + sb_sigma: 0.1 + sb_noise_mode: isotropic + sb_per_l_sigma_mode: inv_sqrt_2lp1 + sb_per_l_sigma_scales: null +train: + seed: 123 + deterministic: true + run_post_fit_test: false + trainer: + fast_dev_run: false + accelerator: gpu + strategy: ddp_find_unused_parameters_true + devices: 8 + precision: 32 + max_epochs: 100000 + max_steps: 450000 + num_sanity_val_steps: 2 + gradient_clip_val: 0.5 + val_check_interval: 1.0 + deterministic: ${train.deterministic} + optim: + _target_: torch.optim.Adam + lr: 0.001 + betas: + - 0.9 + - 0.999 + eps: 1.0e-08 + weight_decay: 0.0 + lr_scheduler: + _target_: scdp.model.utils.PowerDecayScheduler + warmup_steps: 1000 + alpha: 0.96 + beta: 4433 + lr_schedule_freq: 1 + ema: + decay: 0.995 + restore: + ckpt_or_run_path: null + mode: null + weights_only: false + monitor: + metric: nmape/val_flow + mode: min + callbacks: + - _target_: lightning.pytorch.callbacks.EarlyStopping + patience: 10000 + verbose: false + monitor: ${train.monitor.metric} + mode: ${train.monitor.mode} + - _target_: lightning.pytorch.callbacks.ModelCheckpoint + dirpath: ${core.storage_dir} + save_top_k: 2 + save_last: true + verbose: false + monitor: ${train.monitor.metric} + mode: ${train.monitor.mode} + - _target_: lightning.pytorch.callbacks.LearningRateMonitor + logging_interval: step + log_momentum: false + - _target_: lightning.pytorch.callbacks.progress.tqdm_progress.TQDMProgressBar + refresh_rate: 20 + logging: + upload: + run_files: false + source: true + wandb: + name: ${core.expname} + project: ${core.project_name} + entity: null + log_model: ${..upload.run_files} + mode: online + tags: ${core.tags} + resume: allow + wandb_watch: + log: null + log_freq: 100 +core: + expname: qm9_qhf_eqv3_gt_2ph_final_s123 + project_name: orbflow + storage_dir: ${core.expname} + version: 0.0.1 + tags: null +conventions: + x_key: x + y_key: 'y' diff --git a/qm9_qhf_eqv3_gt_2ph_final_s123/epoch=109-step=421830.ckpt b/qm9_qhf_eqv3_gt_2ph_final_s123/epoch=109-step=421830.ckpt new file mode 100644 index 0000000000000000000000000000000000000000..56069efb15f207ef861467c375f9eb558df60b3f --- /dev/null +++ b/qm9_qhf_eqv3_gt_2ph_final_s123/epoch=109-step=421830.ckpt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b8787e87d62fe33ebaadf068b7c2f07ca27a1de654e382635f844835848b77f4 +size 1189366494 diff --git a/qm9_qhf_eqv3_gt_2ph_final_s123/metadata.json b/qm9_qhf_eqv3_gt_2ph_final_s123/metadata.json new file mode 100644 index 0000000000000000000000000000000000000000..736c96ed6c8f18570f24efc8d16e8ac49d3f7c6b --- /dev/null +++ b/qm9_qhf_eqv3_gt_2ph_final_s123/metadata.json @@ -0,0 +1 @@ +{"target_mean": 0.07815587520599365, "target_var": 0.10440606623888016, "avg_num_neighbors": 17, "unique_atom_types": [0, 1, 6, 7, 8, 9]} \ No newline at end of file diff --git a/qm9_qhf_eqv3_gt_2ph_final_s42/config.yaml b/qm9_qhf_eqv3_gt_2ph_final_s42/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..130bae76603b11703e82a4e4b8f3d777dfdc8325 --- /dev/null +++ b/qm9_qhf_eqv3_gt_2ph_final_s42/config.yaml @@ -0,0 +1,197 @@ +data: + _target_: scdp.data.datamodule.ProbeDataModule + dataset: + _target_: scdp.data.dataset.LmdbDataset + path: ${oc.env:DATAPATH}/lmdb + gt_coeffs_path: ${oc.env:DATAPATH}/lmdb_gt_ridge + sad_coeffs_path: null + split_file: ${oc.env:DATAPATH}/datasplits.json + gt_coeff_excluded_file: null + num_workers: + train: 8 + val: 8 + test: 8 + batch_size: + train: 4 + val: 4 + test: 4 + n_probe: + train: 60000 + val: 120000 + test: 120000 +model: + model: + _target_: scdp.model.equiformer_v3.EquiformerV3 + enable_flow_coeff_entangle: true + flow_bridge_time_dim: ${..flow_time_dim} + max_num_elements: 100 + num_layers: 8 + lmax_list: + - 6 + mmax_list: + - 2 + cutoff: 6.0 + sphere_channels: 128 + hidden_channels: 256 + edge_channels: 128 + num_radial_basis: 300 + distance_resolution: 0.02 + basis_width_scalar: 2.0 + attn_hidden_channels: 64 + num_heads: 8 + attn_alpha_channels: 32 + attn_value_channels: 16 + attn_grid_resolution_list: + - 20 + - 8 + ffn_grid_resolution_list: + - 20 + - 20 + norm_type: merge_layer_norm + use_atom_edge_embedding: true + use_envelope: true + use_attn_renorm: true + use_add_merge: false + use_grid_mlp: true + attn_activation: sep-merge_gates2_swiglu + ffn_activation: sep-merge_gates2_swiglu + alpha_drop: 0.0 + attn_mask_rate: 0.0 + attn_weights_drop: 0.0 + value_drop: 0.0 + drop_path_rate: 0.0 + proj_drop: 0.0 + ffn_drop: 0.0 + gradient_checkpointing_block_list: null + _target_: scdp.model.module_flow.ChgFlowMatchingModule + criterion: mae + vnode_elem: 8 + pbc: false + dft_basis_set: def2-qzvppd + dft_wt_aug: true + concat_basis: false + beta: 1.3 + lmax_restriction: true + lmax_relax: 0 + uncontracted: true + orb_cutoff: 5.0 + expo_trainable: false + magnitude_weighting: false + density_synthesis_mode: linear + density_eval_mode: realspace + hybrid_fft_zeta_max: 5.0 + hybrid_fft_phase_sign: -1.0 + hybrid_fft_chunk_G: 65536 + flow_velocity_mlp_hidden: 512 + flow_time_dim: 64 + flow_head: escn + flow_e3nn_hidden_multiplier: 2 + bridge_mode: cfm + flow_loss_mode: endpoint + flow_endpoint_loss: integrated_density + flow_combined_integrated_weight: 1.0 + flow_target_mode: gt + flow_use_t_scale: false + flow_t_scale_max: 0.9 + flow_prior_mode: irrep_gaussian + flow_prior_sigma: 0.85 + flow_prior_mu: 0.0025 + flow_prior_nelectron_normalize: false + flow_nelectron_mc_max_probes: 0 + flow_val_integrate_steps: 2 + flow_val_integrate_sweep_steps: + - 1 + - 2 + - 3 + flow_integrate_train_steps: 2 + flow_integrate_min_t: 0.01 + flow_integrate_schedule: uniform + flow_integrate_t_hi: 0.99 + flow_integrate_power: 4.0 + flow_val_max_n_probe_per_pass: 400000 + flow_val_log_readout: false + sb_sigma: 0.1 + sb_noise_mode: isotropic + sb_per_l_sigma_mode: inv_sqrt_2lp1 + sb_per_l_sigma_scales: null +train: + seed: 42 + deterministic: true + run_post_fit_test: false + trainer: + fast_dev_run: false + accelerator: gpu + strategy: ddp_find_unused_parameters_true + devices: 8 + precision: 32 + max_epochs: 100000 + max_steps: 450000 + num_sanity_val_steps: 2 + gradient_clip_val: 0.5 + val_check_interval: 1.0 + deterministic: ${train.deterministic} + optim: + _target_: torch.optim.Adam + lr: 0.001 + betas: + - 0.9 + - 0.999 + eps: 1.0e-08 + weight_decay: 0.0 + lr_scheduler: + _target_: scdp.model.utils.PowerDecayScheduler + warmup_steps: 1000 + alpha: 0.96 + beta: 4433 + lr_schedule_freq: 1 + ema: + decay: 0.995 + restore: + ckpt_or_run_path: null + mode: null + weights_only: false + monitor: + metric: nmape/val_flow + mode: min + callbacks: + - _target_: lightning.pytorch.callbacks.EarlyStopping + patience: 10000 + verbose: false + monitor: ${train.monitor.metric} + mode: ${train.monitor.mode} + - _target_: lightning.pytorch.callbacks.ModelCheckpoint + dirpath: ${core.storage_dir} + save_top_k: 2 + save_last: true + verbose: false + monitor: ${train.monitor.metric} + mode: ${train.monitor.mode} + - _target_: lightning.pytorch.callbacks.LearningRateMonitor + logging_interval: step + log_momentum: false + - _target_: lightning.pytorch.callbacks.progress.tqdm_progress.TQDMProgressBar + refresh_rate: 20 + logging: + upload: + run_files: false + source: true + wandb: + name: ${core.expname} + project: ${core.project_name} + entity: null + log_model: ${..upload.run_files} + mode: online + tags: ${core.tags} + resume: allow + wandb_watch: + log: null + log_freq: 100 +core: + expname: qm9_qhf_eqv3_gt_2ph_final_s42 + project_name: orbflow + storage_dir: ${core.expname} + version: 0.0.1 + tags: null +conventions: + x_key: x + y_key: 'y' diff --git a/qm9_qhf_eqv3_gt_2ph_final_s42/epoch=109-step=421830.ckpt b/qm9_qhf_eqv3_gt_2ph_final_s42/epoch=109-step=421830.ckpt new file mode 100644 index 0000000000000000000000000000000000000000..7d911387f436165a62587c98705bb1b7442aa1e7 --- /dev/null +++ b/qm9_qhf_eqv3_gt_2ph_final_s42/epoch=109-step=421830.ckpt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9e40f8c207dcf426c0fa0289fce37e371b5aecf9006161be97d0db71ee2f3cf4 +size 1189366494 diff --git a/qm9_qhf_eqv3_gt_2ph_final_s42/metadata.json b/qm9_qhf_eqv3_gt_2ph_final_s42/metadata.json new file mode 100644 index 0000000000000000000000000000000000000000..736c96ed6c8f18570f24efc8d16e8ac49d3f7c6b --- /dev/null +++ b/qm9_qhf_eqv3_gt_2ph_final_s42/metadata.json @@ -0,0 +1 @@ +{"target_mean": 0.07815587520599365, "target_var": 0.10440606623888016, "avg_num_neighbors": 17, "unique_atom_types": [0, 1, 6, 7, 8, 9]} \ No newline at end of file