diff --git a/configs/is2re/100k/base.yml b/configs/is2re/100k/base.yml index ccfe9575b..07ae8b637 100755 --- a/configs/is2re/100k/base.yml +++ b/configs/is2re/100k/base.yml @@ -1,18 +1,34 @@ -trainer: energy +trainer: ocp dataset: - - src: data/is2re/100k/train/data.lmdb - normalize_labels: True - target_mean: -1.525913953781128 - target_std: 2.279365062713623 - - src: data/is2re/all/val_id/data.lmdb + train: + format: lmdb + src: data/is2re/100k/train/data.lmdb + key_mapping: + y_relaxed: energy + transforms: + normalizer: + energy: + mean: -1.525913953781128 + stdev: 2.279365062713623 + val: + src: data/is2re/all/val_id/data.lmdb logger: wandb -task: - dataset: single_point_lmdb - description: "Relaxed state energy prediction from initial structure." - type: regression - metric: mae - labels: - - relaxed energy +outputs: + energy: + shape: 1 + level: system + +loss_functions: + - energy: + fn: mae + +evaluation_metrics: + metrics: + energy: + - mae + - mse + - energy_within_threshold + primary_metric: energy_mae diff --git a/configs/is2re/10k/base.yml b/configs/is2re/10k/base.yml index ea44c4f57..20acaf044 100755 --- a/configs/is2re/10k/base.yml +++ b/configs/is2re/10k/base.yml @@ -1,18 +1,34 @@ -trainer: energy +trainer: ocp dataset: - - src: data/is2re/10k/train/data.lmdb - normalize_labels: True - target_mean: -1.525913953781128 - target_std: 2.279365062713623 - - src: data/is2re/all/val_id/data.lmdb + train: + format: lmdb + src: data/is2re/10k/train/data.lmdb + key_mapping: + y_relaxed: energy + transforms: + normalizer: + energy: + mean: -1.525913953781128 + stdev: 2.279365062713623 + val: + src: data/is2re/all/val_id/data.lmdb logger: wandb -task: - dataset: single_point_lmdb - description: "Relaxed state energy prediction from initial structure." - type: regression - metric: mae - labels: - - relaxed energy +outputs: + energy: + shape: 1 + level: system + +loss_functions: + - energy: + fn: mae + +evaluation_metrics: + metrics: + energy: + - mae + - mse + - energy_within_threshold + primary_metric: energy_mae diff --git a/configs/is2re/all/base.yml b/configs/is2re/all/base.yml index cfd817ffc..2056c28a2 100755 --- a/configs/is2re/all/base.yml +++ b/configs/is2re/all/base.yml @@ -1,18 +1,34 @@ -trainer: energy +trainer: ocp dataset: - - src: data/is2re/all/train/data.lmdb - normalize_labels: True - target_mean: -1.525913953781128 - target_std: 2.279365062713623 - - src: data/is2re/all/val_id/data.lmdb + train: + format: lmdb + src: data/is2re/all/train/data.lmdb + key_mapping: + y_relaxed: energy + transforms: + normalizer: + energy: + mean: -1.525913953781128 + stdev: 2.279365062713623 + val: + src: data/is2re/all/val_id/data.lmdb logger: wandb -task: - dataset: single_point_lmdb - description: "Relaxed state energy prediction from initial structure." - type: regression - metric: mae - labels: - - relaxed energy +outputs: + energy: + shape: 1 + level: system + +loss_functions: + - energy: + fn: mae + +evaluation_metrics: + metrics: + energy: + - mae + - mse + - energy_within_threshold + primary_metric: energy_mae diff --git a/configs/is2re/all/painn/painn_h1024_bs8x4.yml b/configs/is2re/all/painn/painn_h1024_bs8x4.yml index 558b10e2d..97c95b5a3 100644 --- a/configs/is2re/all/painn/painn_h1024_bs8x4.yml +++ b/configs/is2re/all/painn/painn_h1024_bs8x4.yml @@ -29,7 +29,5 @@ optim: factor: 0.8 patience: 3 max_epochs: 80 - energy_coefficient: 1 ema_decay: 0.999 clip_grad_norm: 10 - loss_energy: mae diff --git a/configs/oc22/is2re/base.yml b/configs/oc22/is2re/base.yml index 8faec3b6a..82ceae64a 100644 --- a/configs/oc22/is2re/base.yml +++ b/configs/oc22/is2re/base.yml @@ -1,19 +1,29 @@ -trainer: energy +trainer: ocp dataset: train: + format: oc22_lmdb src: data/oc22/is2re/train - normalize_labels: False + key_mapping: + y_relaxed: energy val: src: data/oc22/is2re/val_id logger: wandb -task: - dataset: oc22_lmdb - description: "Relaxed state energy prediction from initial structure." - type: regression - metric: mae +outputs: + energy: + shape: 1 + level: system + +loss_functions: + - energy: + fn: mae + +evaluation_metrics: + metrics: + energy: + - mae + - mse + - energy_within_threshold primary_metric: energy_mae - labels: - - relaxed energy diff --git a/configs/oc22/is2re/base_joint.yml b/configs/oc22/is2re/base_joint.yml index b72fdcabf..92dfc68c9 100644 --- a/configs/oc22/is2re/base_joint.yml +++ b/configs/oc22/is2re/base_joint.yml @@ -1,22 +1,30 @@ -trainer: energy - dataset: train: + format: oc22_lmdb src: data/oc20+oc22/is2re/train - normalize_labels: False train_on_oc20_total_energies: True - #download at https://dl.fbaipublicfiles.com/opencatalystproject/data/oc22/oc20_ref.pkl + # download at https://dl.fbaipublicfiles.com/opencatalystproject/data/oc22/oc20_ref.pkl oc20_ref: path/to/oc20_ref.pkl + key_mapping: + y_relaxed: energy val: src: data/oc22/is2re/val_id logger: wandb -task: - dataset: oc22_lmdb - description: "Relaxed state energy prediction from initial structure." - type: regression - metric: mae +outputs: + energy: + shape: 1 + level: system + +loss_functions: + - energy: + fn: mae + +evaluation_metrics: + metrics: + energy: + - mae + - mse + - energy_within_threshold primary_metric: energy_mae - labels: - - relaxed energy diff --git a/configs/oc22/is2re/gemnet-dT/gemnet-dT.yml b/configs/oc22/is2re/gemnet-dT/gemnet-dT.yml index 7bd66fff8..4ba358f78 100644 --- a/configs/oc22/is2re/gemnet-dT/gemnet-dT.yml +++ b/configs/oc22/is2re/gemnet-dT/gemnet-dT.yml @@ -45,7 +45,5 @@ optim: factor: 0.8 patience: 3 max_epochs: 100 - energy_coefficient: 1 ema_decay: 0.999 clip_grad_norm: 10 - loss_energy: mae diff --git a/configs/oc22/is2re/painn/painn.yml b/configs/oc22/is2re/painn/painn.yml index 5fc50f782..f2c1cb632 100644 --- a/configs/oc22/is2re/painn/painn.yml +++ b/configs/oc22/is2re/painn/painn.yml @@ -29,7 +29,5 @@ optim: factor: 0.8 patience: 3 max_epochs: 80 - energy_coefficient: 1 ema_decay: 0.999 clip_grad_norm: 10 - loss_energy: mae diff --git a/configs/oc22/s2ef/base.yml b/configs/oc22/s2ef/base.yml index a7077bc50..c3ee6c532 100644 --- a/configs/oc22/s2ef/base.yml +++ b/configs/oc22/s2ef/base.yml @@ -1,29 +1,45 @@ -trainer: forces +trainer: ocp dataset: train: + format: oc22_lmdb src: data/oc22/s2ef/train - normalize_labels: False + key_mapping: + y: energy + force: forces val: src: data/oc22/s2ef/val_id logger: wandb -task: - dataset: oc22_lmdb - description: "Regressing to energies and forces for DFT trajectories from OCP" - type: regression - metric: mae - primary_metric: forces_mae - labels: - - potential energy - grad_input: atomic forces - train_on_free_atoms: True - eval_on_free_atoms: True - prediction_dtype: float32 +outputs: + energy: + shape: 1 + level: system + prediction_dtype: float32 + forces: + irrep_dim: 1 + level: atom + train_on_free_atoms: True + eval_on_free_atoms: True + prediction_dtype: float32 + +loss_functions: + - energy: + fn: mae + coefficient: 1 + - forces: + fn: l2mae + coefficient: 100 -optim: - loss_energy: mae - loss_force: atomwisel2 - force_coefficient: 1 - energy_coefficient: 1 +evaluation_metrics: + metrics: + energy: + - mae + forces: + - mae + - cosine_similarity + - magnitude_error + misc: + - energy_forces_within_threshold + primary_metric: forces_mae diff --git a/configs/oc22/s2ef/base_joint.yml b/configs/oc22/s2ef/base_joint.yml index 37a83d3b8..0afc3c396 100644 --- a/configs/oc22/s2ef/base_joint.yml +++ b/configs/oc22/s2ef/base_joint.yml @@ -1,26 +1,48 @@ -trainer: forces +trainer: ocp dataset: train: + format: lmdb src: data/oc20+oc22/s2ef/train - normalize_labels: False train_on_oc20_total_energies: True - #download at https://dl.fbaipublicfiles.com/opencatalystproject/data/oc22/oc20_ref.pkl + # download at https://dl.fbaipublicfiles.com/opencatalystproject/data/oc22/oc20_ref.pkl oc20_ref: path/to/oc20_ref.pkl + key_mapping: + y: energy + force: forces val: src: data/oc22/s2ef/val_id logger: wandb -task: - dataset: oc22_lmdb - description: "Regressing to energies and forces for DFT trajectories from OCP" - type: regression - metric: mae +outputs: + energy: + shape: 1 + level: system + prediction_dtype: float32 + forces: + irrep_dim: 1 + level: atom + train_on_free_atoms: True + eval_on_free_atoms: True + prediction_dtype: float32 + +loss_functions: + - energy: + fn: mae + coefficient: 1 + - forces: + fn: atomwisel2 + coefficient: 1 + +evaluation_metrics: + metrics: + energy: + - mae + forces: + - mae + - cosine_similarity + - magnitude_error + misc: + - energy_forces_within_threshold primary_metric: forces_mae - labels: - - potential energy - grad_input: atomic forces - train_on_free_atoms: True - eval_on_free_atoms: True - prediction_dtype: float32 diff --git a/configs/oc22/s2ef/equiformer_v2/equiformer_v2_N@18_L@6_M@2_e4_f100_121M.yml b/configs/oc22/s2ef/equiformer_v2/equiformer_v2_N@18_L@6_M@2_e4_f100_121M.yml index 2317ed245..124b27286 100644 --- a/configs/oc22/s2ef/equiformer_v2/equiformer_v2_N@18_L@6_M@2_e4_f100_121M.yml +++ b/configs/oc22/s2ef/equiformer_v2/equiformer_v2_N@18_L@6_M@2_e4_f100_121M.yml @@ -2,26 +2,58 @@ trainer: equiformerv2_forces dataset: train: + format: oc22_lmdb src: data/oc22/s2ef/train - normalize_labels: True - target_mean: 0.0 - target_std: 25.119809935106424 - grad_target_mean: 0.0 - grad_target_std: 0.14759646356105804 + key_mapping: + y: energy + force: forces + transforms: + normalizer: + energy: + mean: 0.0 + stdev: 25.119809935106424 + forces: + mean: 0.0 + stdev: 0.14759646356105804 lin_ref: configs/oc22/linref/oc22_linfit_coeffs.npz val: src: data/oc22/s2ef/val_id - lin_ref: configs/oc22/linref/oc22_linfit_coeffs.npz - -logger: - name: wandb + lin_ref: configs/oc22/linref/oc22_linfit_coeffs.npz -task: - dataset: oc22_lmdb +logger: wandb + +outputs: + energy: + shape: 1 + level: system + prediction_dtype: float32 + forces: + irrep_dim: 1 + level: atom + train_on_free_atoms: True + eval_on_free_atoms: True + prediction_dtype: float32 + +loss_functions: + - energy: + fn: mae + coefficient: 4 + - forces: + fn: l2mae + coefficient: 100 + +evaluation_metrics: + metrics: + energy: + - mae + forces: + - mae + - cosine_similarity + - magnitude_error + misc: + - energy_forces_within_threshold primary_metric: energy_mae - train_on_free_atoms: True - eval_on_free_atoms: True - prediction_dtype: float32 + model: name: equiformer_v2 @@ -93,11 +125,7 @@ optim: lr_min_factor: 0.01 max_epochs: 6 - energy_coefficient: 4 - force_coefficient: 100 clip_grad_norm: 50 ema_decay: 0.999 - loss_energy: mae - loss_force: l2mae eval_every: 5000 diff --git a/configs/oc22/s2ef/gemnet-dt/gemnet_dT_finetune.yml b/configs/oc22/s2ef/gemnet-dt/gemnet_dT_finetune.yml index c163f3907..7b348d136 100644 --- a/configs/oc22/s2ef/gemnet-dt/gemnet_dT_finetune.yml +++ b/configs/oc22/s2ef/gemnet-dt/gemnet_dT_finetune.yml @@ -69,7 +69,3 @@ optim: max_epochs: 15 ema_decay: 0.999 clip_grad_norm: 10 - loss_energy: mae - loss_force: l2mae - force_coefficient: 100 - energy_coefficient: 1 diff --git a/configs/oc22/s2ef/gemnet-oc/gemnet_oc_finetune.yml b/configs/oc22/s2ef/gemnet-oc/gemnet_oc_finetune.yml index 3f6fc2525..2aa11c3d6 100644 --- a/configs/oc22/s2ef/gemnet-oc/gemnet_oc_finetune.yml +++ b/configs/oc22/s2ef/gemnet-oc/gemnet_oc_finetune.yml @@ -96,7 +96,3 @@ optim: max_epochs: 15 ema_decay: 0.999 clip_grad_norm: 10 - loss_energy: mae - loss_force: l2mae - force_coefficient: 100 - energy_coefficient: 1 diff --git a/configs/oc22/s2ef/gemnet-oc/gemnet_oc_oc20_oc22.yml b/configs/oc22/s2ef/gemnet-oc/gemnet_oc_oc20_oc22.yml index 2fefc33cb..8b297389c 100644 --- a/configs/oc22/s2ef/gemnet-oc/gemnet_oc_oc20_oc22.yml +++ b/configs/oc22/s2ef/gemnet-oc/gemnet_oc_oc20_oc22.yml @@ -75,7 +75,3 @@ optim: max_epochs: 80 ema_decay: 0.999 clip_grad_norm: 10 - loss_energy: mae - loss_force: atomwisel2 - force_coefficient: 1 - energy_coefficient: 1 diff --git a/configs/oc22/s2ef/gemnet-oc/gemnet_oc_oc20_oc22_degen_edges.yml b/configs/oc22/s2ef/gemnet-oc/gemnet_oc_oc20_oc22_degen_edges.yml index 5cbb1997e..b33f57424 100644 --- a/configs/oc22/s2ef/gemnet-oc/gemnet_oc_oc20_oc22_degen_edges.yml +++ b/configs/oc22/s2ef/gemnet-oc/gemnet_oc_oc20_oc22_degen_edges.yml @@ -77,7 +77,3 @@ optim: max_epochs: 80 ema_decay: 0.999 clip_grad_norm: 10 - loss_energy: mae - loss_force: atomwisel2 - force_coefficient: 1 - energy_coefficient: 1 diff --git a/configs/odac/is2re/base.yml b/configs/odac/is2re/base.yml index 3b0437ba5..e52fdd39f 100755 --- a/configs/odac/is2re/base.yml +++ b/configs/odac/is2re/base.yml @@ -1,21 +1,35 @@ -trainer: energy +rainer: ocp dataset: train: + format: lmdb src: data_odac/is2r/train - normalize_labels: True - target_mean: -0.5249277949333191 - target_std: 0.943034291267395 + key_mapping: + y_relaxed: energy + transforms: + normalizer: + energy: + mean: -0.5249277949333191 + stdev: 0.943034291267395 val: src: data_odac/is2r/train -logger: - name: wandb +logger: wandb -task: - dataset: lmdb - description: "Relaxed state energy prediction from initial structure." - type: regression - metric: mae - labels: - - relaxed energy +outputs: + energy: + shape: 1 + level: system + +loss_functions: + - energy: + fn: mae + coefficient: 4 + +evaluation_metrics: + metrics: + energy: + - mae + - mse + - energy_within_threshold + primary_metric: energy_mae diff --git a/configs/odac/is2re/eSCN.yml b/configs/odac/is2re/eSCN.yml index 4851d6e6b..557ec7c78 100755 --- a/configs/odac/is2re/eSCN.yml +++ b/configs/odac/is2re/eSCN.yml @@ -39,8 +39,5 @@ optim: warmup_steps: 100 warmup_factor: 0.2 max_epochs: 24 - energy_coefficient: 4 clip_grad_norm: 20 ema_decay: 0.999 - loss_energy: mae - loss_force: l2mae diff --git a/configs/odac/is2re/eqv2_31M.yml b/configs/odac/is2re/eqv2_31M.yml index 044561f1c..c8cdea556 100644 --- a/configs/odac/is2re/eqv2_31M.yml +++ b/configs/odac/is2re/eqv2_31M.yml @@ -67,11 +67,7 @@ optim: lr_min_factor: 0.01 max_epochs: 30 - force_coefficient: 100 - energy_coefficient: 4 clip_grad_norm: 100 ema_decay: 0.999 - loss_energy: mae - loss_force: l2mae eval_every: 2500 diff --git a/configs/odac/is2re/gemnet-oc.yml b/configs/odac/is2re/gemnet-oc.yml index 4fe7ce157..9e8f5a492 100644 --- a/configs/odac/is2re/gemnet-oc.yml +++ b/configs/odac/is2re/gemnet-oc.yml @@ -1,6 +1,11 @@ includes: - configs/odac/is2re/base.yml +loss_functions: + - energy: + fn: mae + coefficient: 4 + trainer: energy model: @@ -80,4 +85,3 @@ optim: energy_coefficient: 1 ema_decay: 0.999 clip_grad_norm: 10 - loss_energy: mae diff --git a/configs/odac/s2ef/base.yml b/configs/odac/s2ef/base.yml index 52c8369df..2ee3f5913 100644 --- a/configs/odac/s2ef/base.yml +++ b/configs/odac/s2ef/base.yml @@ -1,23 +1,58 @@ +trainer: ocp + dataset: train: + format: lmdb src: data_odac/s2ef/train - normalize_labels: True - target_mean: -0.39596545696258545 - target_std: 1.451111078262329 - grad_target_mean: 0.0 - grad_target_std: 0.04262716323137283 + key_mapping: + y: energy + force: forces + transforms: + normalizer: + energy: + mean: -0.39596545696258545 + stdev: 1.451111078262329 + forces: + mean: 0.0 + stdev: 0.04262716323137283 val: src: data_odac/s2ef/val -logger: - name: wandb +logger: wandb -task: - dataset: lmdb - train_on_free_atoms: True - eval_on_free_atoms: True +outputs: + energy: + shape: 1 + level: system + forces: + irrep_dim: 1 + level: atom + train_on_free_atoms: True + eval_on_free_atoms: True + +loss_functions: + - energy: + fn: mae + coefficient: 4 + - forces: + fn: l2mae + coefficient: 100 + +evaluation_metrics: + metrics: + energy: + - mae + - mse + - energy_within_threshold + forces: + - mae + - cosine_similarity + - magnitude_error + misc: + - energy_forces_within_threshold primary_metric: forces_mae +task: relaxation_steps: 125 relaxation_fmax: 0.05 write_pos: True diff --git a/configs/odac/s2ef/dpp.yml b/configs/odac/s2ef/dpp.yml index 8fb592f62..b19fe771b 100755 --- a/configs/odac/s2ef/dpp.yml +++ b/configs/odac/s2ef/dpp.yml @@ -1,7 +1,13 @@ includes: - configs/odac/s2ef/base.yml -trainer: forces +loss_functions: + - energy: + fn: mae + coefficient: 1 + - forces: + fn: l2mae + coefficient: 50 model: name: dimenetplusplus @@ -31,4 +37,3 @@ optim: warmup_steps: 130794 warmup_factor: 0.2 max_epochs: 7 - force_coefficient: 50 diff --git a/configs/odac/s2ef/eSCN.yml b/configs/odac/s2ef/eSCN.yml index 9517ff7c3..37c598d5f 100755 --- a/configs/odac/s2ef/eSCN.yml +++ b/configs/odac/s2ef/eSCN.yml @@ -1,8 +1,6 @@ includes: - configs/odac/s2ef/base.yml -trainer: forces - model: name: escn num_layers: 12 @@ -31,11 +29,7 @@ optim: weight_decay: 0.1 eval_every: 5000 max_epochs: 24 - force_coefficient: 100 - energy_coefficient: 4 clip_grad_norm: 20 ema_decay: 0.999 - loss_energy: mae - loss_force: l2mae scheduler: CosineAnnealingLR T_max: 2000000 diff --git a/configs/odac/s2ef/eqv2_153M.yml b/configs/odac/s2ef/eqv2_153M.yml index cbb21fe2d..75f51fd89 100755 --- a/configs/odac/s2ef/eqv2_153M.yml +++ b/configs/odac/s2ef/eqv2_153M.yml @@ -67,11 +67,7 @@ optim: lr_min_factor: 0.01 max_epochs: 1 - force_coefficient: 100 - energy_coefficient: 4 clip_grad_norm: 100 ema_decay: 0.999 - loss_energy: mae - loss_force: l2mae eval_every: 2500 diff --git a/configs/odac/s2ef/eqv2_31M.yml b/configs/odac/s2ef/eqv2_31M.yml index 3b9063552..94d00d336 100644 --- a/configs/odac/s2ef/eqv2_31M.yml +++ b/configs/odac/s2ef/eqv2_31M.yml @@ -3,6 +3,14 @@ includes: trainer: equiformerv2_forces +loss_functions: + - energy: + fn: mae + coefficient: 1 + - forces: + fn: l2mae + coefficient: 200 + model: name: equiformer_v2 @@ -67,11 +75,7 @@ optim: lr_min_factor: 0.01 max_epochs: 3 - force_coefficient: 200 - energy_coefficient: 1 clip_grad_norm: 100 ema_decay: 0.999 - loss_energy: mae - loss_force: l2mae eval_every: 5000 diff --git a/configs/odac/s2ef/gemnet-oc.yml b/configs/odac/s2ef/gemnet-oc.yml index def88cf81..d1b639d72 100644 --- a/configs/odac/s2ef/gemnet-oc.yml +++ b/configs/odac/s2ef/gemnet-oc.yml @@ -1,7 +1,13 @@ includes: - configs/odac/s2ef/base.yml -trainer: forces +loss_functions: + - energy: + fn: mae + coefficient: 1 + - forces: + fn: l2mae + coefficient: 50 model: name: gemnet_oc @@ -75,12 +81,8 @@ optim: weight_decay: 0.1 mode: min max_epochs: 80 - force_coefficient: 50 - energy_coefficient: 1 ema_decay: 0.999 clip_grad_norm: 10 - loss_energy: mae - loss_force: l2mae scheduler: CosineAnnealingLR T_max: 2000000 diff --git a/configs/odac/s2ef/painn.yml b/configs/odac/s2ef/painn.yml index 43735703a..409b7bc0a 100644 --- a/configs/odac/s2ef/painn.yml +++ b/configs/odac/s2ef/painn.yml @@ -1,7 +1,13 @@ includes: - configs/odac/s2ef/base.yml -trainer: forces +loss_functions: + - energy: + fn: mae + coefficient: 2 + - forces: + fn: l2mae + coefficient: 100 model: name: painn @@ -32,12 +38,8 @@ optim: factor: 0.8 patience: 3 max_epochs: 80 - force_coefficient: 100 - energy_coefficient: 2 ema_decay: 0.999 clip_grad_norm: 10 - loss_energy: mae - loss_force: l2mae scheduler: CosineAnnealingLR T_max: 1000000 diff --git a/configs/odac/s2ef/schnet.yml b/configs/odac/s2ef/schnet.yml index 95ff22d94..c50c68428 100755 --- a/configs/odac/s2ef/schnet.yml +++ b/configs/odac/s2ef/schnet.yml @@ -1,7 +1,14 @@ includes: - configs/odac/s2ef/base.yml -trainer: forces +loss_functions: + - energy: + fn: mae + coefficient: 1 + - forces: + fn: l2mae + coefficient: 30 + model: name: schnet @@ -29,4 +36,3 @@ optim: warmup_steps: 209271 warmup_factor: 0.2 max_epochs: 15 - force_coefficient: 30 diff --git a/configs/s2ef/200k/base.yml b/configs/s2ef/200k/base.yml index 8c8703e8f..3946ae104 100755 --- a/configs/s2ef/200k/base.yml +++ b/configs/s2ef/200k/base.yml @@ -1,23 +1,51 @@ -trainer: forces +trainer: ocp dataset: - - src: data/s2ef/200k/train/ - normalize_labels: True - target_mean: -0.7554450631141663 - target_std: 2.887317180633545 - grad_target_mean: 0.0 - grad_target_std: 2.887317180633545 - - src: data/s2ef/all/val_id/ + train: + format: lmdb + src: data/s2ef/200k/train/ + key_mapping: + y: energy + force: forces + transforms: + normalizer: + energy: + mean: -0.7554450631141663 + stdev: 2.887317180633545 + forces: + mean: 0 + stdev: 2.887317180633545 + val: + src: data/s2ef/all/val_id/ logger: wandb -task: - dataset: trajectory_lmdb - description: "Regressing to energies and forces for DFT trajectories from OCP" - type: regression - metric: mae - labels: - - potential energy - grad_input: atomic forces - train_on_free_atoms: True - eval_on_free_atoms: True +outputs: + energy: + shape: 1 + level: system + forces: + irrep_dim: 1 + level: atom + train_on_free_atoms: True + eval_on_free_atoms: True + +loss_functions: + - energy: + fn: mae + coefficient: 1 + - forces: + fn: l2mae + coefficient: 100 + +evaluation_metrics: + metrics: + energy: + - mae + forces: + - mae + - cosine_similarity + - magnitude_error + misc: + - energy_forces_within_threshold + primary_metric: forces_mae diff --git a/configs/s2ef/200k/dimenet_plus_plus/dpp.yml b/configs/s2ef/200k/dimenet_plus_plus/dpp.yml index 6dd1ea658..9883671d4 100755 --- a/configs/s2ef/200k/dimenet_plus_plus/dpp.yml +++ b/configs/s2ef/200k/dimenet_plus_plus/dpp.yml @@ -1,6 +1,14 @@ includes: - configs/s2ef/200k/base.yml +loss_functions: + - energy: + fn: mae + coefficient: 1 + - forces: + fn: l2mae + coefficient: 50 + model: name: dimenetplusplus hidden_channels: 192 @@ -33,4 +41,3 @@ optim: warmup_steps: 3125 warmup_factor: 0.2 max_epochs: 30 - force_coefficient: 50 diff --git a/configs/s2ef/200k/gemnet/gemnet-dT.yml b/configs/s2ef/200k/gemnet/gemnet-dT.yml index 140abd2e2..091a420cc 100644 --- a/configs/s2ef/200k/gemnet/gemnet-dT.yml +++ b/configs/s2ef/200k/gemnet/gemnet-dT.yml @@ -47,9 +47,5 @@ optim: factor: 0.8 patience: 3 max_epochs: 80 - force_coefficient: 100 - energy_coefficient: 1 ema_decay: 0.999 clip_grad_norm: 10 - loss_energy: mae - loss_force: l2mae diff --git a/configs/s2ef/200k/gemnet/gemnet-oc.yml b/configs/s2ef/200k/gemnet/gemnet-oc.yml index 1fa2bac3f..94cf087aa 100644 --- a/configs/s2ef/200k/gemnet/gemnet-oc.yml +++ b/configs/s2ef/200k/gemnet/gemnet-oc.yml @@ -73,9 +73,5 @@ optim: factor: 0.8 patience: 3 max_epochs: 80 - force_coefficient: 100 - energy_coefficient: 1 ema_decay: 0.999 clip_grad_norm: 10 - loss_energy: mae - loss_force: l2mae diff --git a/configs/s2ef/200k/schnet/schnet.yml b/configs/s2ef/200k/schnet/schnet.yml index 7e97bc227..0580a3f85 100755 --- a/configs/s2ef/200k/schnet/schnet.yml +++ b/configs/s2ef/200k/schnet/schnet.yml @@ -28,4 +28,3 @@ optim: warmup_steps: 4687 warmup_factor: 0.2 max_epochs: 30 - force_coefficient: 100 diff --git a/configs/s2ef/20M/base.yml b/configs/s2ef/20M/base.yml index 14ec01bcb..b4df0f61d 100755 --- a/configs/s2ef/20M/base.yml +++ b/configs/s2ef/20M/base.yml @@ -1,23 +1,51 @@ -trainer: forces +trainer: ocp dataset: - - src: data/s2ef/20M/train/ - normalize_labels: True - target_mean: -0.7554450631141663 - target_std: 2.887317180633545 - grad_target_mean: 0.0 - grad_target_std: 2.887317180633545 - - src: data/s2ef/all/val_id/ + train: + format: lmdb + src: data/s2ef/20M/train/ + key_mapping: + y: energy + force: forces + transforms: + normalizer: + energy: + mean: -0.7554450631141663 + stdev: 2.887317180633545 + forces: + mean: 0 + stdev: 2.887317180633545 + val: + src: data/s2ef/all/val_id/ logger: wandb -task: - dataset: trajectory_lmdb - description: "Regressing to energies and forces for DFT trajectories from OCP" - type: regression - metric: mae - labels: - - potential energy - grad_input: atomic forces - train_on_free_atoms: True - eval_on_free_atoms: True +outputs: + energy: + shape: 1 + level: system + forces: + irrep_dim: 1 + level: atom + train_on_free_atoms: True + eval_on_free_atoms: True + +loss_functions: + - energy: + fn: mae + coefficient: 1 + - forces: + fn: l2mae + coefficient: 100 + +evaluation_metrics: + metrics: + energy: + - mae + forces: + - mae + - cosine_similarity + - magnitude_error + misc: + - energy_forces_within_threshold + primary_metric: forces_mae diff --git a/configs/s2ef/20M/dimenet_plus_plus/dpp.yml b/configs/s2ef/20M/dimenet_plus_plus/dpp.yml index f6e481040..551e09b6d 100755 --- a/configs/s2ef/20M/dimenet_plus_plus/dpp.yml +++ b/configs/s2ef/20M/dimenet_plus_plus/dpp.yml @@ -1,6 +1,14 @@ includes: - configs/s2ef/20M/base.yml +loss_functions: + - energy: + fn: mae + coefficient: 1 + - forces: + fn: l2mae + coefficient: 50 + model: name: dimenetplusplus hidden_channels: 192 @@ -34,4 +42,3 @@ optim: warmup_steps: 52083 warmup_factor: 0.2 max_epochs: 15 - force_coefficient: 50 diff --git a/configs/s2ef/20M/gemnet/gemnet-dT.yml b/configs/s2ef/20M/gemnet/gemnet-dT.yml index 440dfdfe8..9d98de0a6 100644 --- a/configs/s2ef/20M/gemnet/gemnet-dT.yml +++ b/configs/s2ef/20M/gemnet/gemnet-dT.yml @@ -47,9 +47,5 @@ optim: factor: 0.8 patience: 3 max_epochs: 80 - force_coefficient: 100 - energy_coefficient: 1 ema_decay: 0.999 clip_grad_norm: 10 - loss_energy: mae - loss_force: l2mae diff --git a/configs/s2ef/20M/gemnet/gemnet-oc.yml b/configs/s2ef/20M/gemnet/gemnet-oc.yml index 04fd218de..c188c2621 100644 --- a/configs/s2ef/20M/gemnet/gemnet-oc.yml +++ b/configs/s2ef/20M/gemnet/gemnet-oc.yml @@ -73,9 +73,5 @@ optim: factor: 0.8 patience: 3 max_epochs: 80 - force_coefficient: 100 - energy_coefficient: 1 ema_decay: 0.999 clip_grad_norm: 10 - loss_energy: mae - loss_force: l2mae diff --git a/configs/s2ef/20M/schnet/schnet.yml b/configs/s2ef/20M/schnet/schnet.yml index 9096f471e..06524c87f 100755 --- a/configs/s2ef/20M/schnet/schnet.yml +++ b/configs/s2ef/20M/schnet/schnet.yml @@ -1,6 +1,14 @@ includes: - configs/s2ef/20M/base.yml +loss_functions: + - energy: + fn: mae + coefficient: 1 + - forces: + fn: l2mae + coefficient: 50 + model: name: schnet hidden_channels: 1024 diff --git a/configs/s2ef/2M/base.yml b/configs/s2ef/2M/base.yml index 4c39b96e0..cea1f121b 100755 --- a/configs/s2ef/2M/base.yml +++ b/configs/s2ef/2M/base.yml @@ -1,23 +1,51 @@ -trainer: forces +trainer: ocp dataset: - - src: data/s2ef/2M/train/ - normalize_labels: True - target_mean: -0.7554450631141663 - target_std: 2.887317180633545 - grad_target_mean: 0.0 - grad_target_std: 2.887317180633545 - - src: data/s2ef/all/val_id/ + train: + format: lmdb + src: data/s2ef/2M/train/ + key_mapping: + y: energy + force: forces + transforms: + normalizer: + energy: + mean: -0.7554450631141663 + stdev: 2.887317180633545 + forces: + mean: 0 + stdev: 2.887317180633545 + val: + src: data/s2ef/all/val_id/ logger: wandb -task: - dataset: trajectory_lmdb - description: "Regressing to energies and forces for DFT trajectories from OCP" - type: regression - metric: mae - labels: - - potential energy - grad_input: atomic forces - train_on_free_atoms: True - eval_on_free_atoms: True +outputs: + energy: + shape: 1 + level: system + forces: + irrep_dim: 1 + level: atom + train_on_free_atoms: True + eval_on_free_atoms: True + +loss_functions: + - energy: + fn: mae + coefficient: 2 + - forces: + fn: l2mae + coefficient: 100 + +evaluation_metrics: + metrics: + energy: + - mae + forces: + - mae + - cosine_similarity + - magnitude_error + misc: + - energy_forces_within_threshold + primary_metric: forces_mae diff --git a/configs/s2ef/2M/dimenet_plus_plus/dpp.yml b/configs/s2ef/2M/dimenet_plus_plus/dpp.yml index ff811850b..add64d291 100755 --- a/configs/s2ef/2M/dimenet_plus_plus/dpp.yml +++ b/configs/s2ef/2M/dimenet_plus_plus/dpp.yml @@ -1,6 +1,14 @@ includes: - configs/s2ef/2M/base.yml +loss_functions: + - energy: + fn: mae + coefficient: 1 + - forces: + fn: l2mae + coefficient: 50 + model: name: dimenetplusplus hidden_channels: 192 @@ -34,4 +42,3 @@ optim: warmup_steps: 10416 warmup_factor: 0.2 max_epochs: 15 - force_coefficient: 50 diff --git a/configs/s2ef/2M/dimenet_plus_plus/dpp_relax.yml b/configs/s2ef/2M/dimenet_plus_plus/dpp_relax.yml index b5d52bd23..9d37dd759 100755 --- a/configs/s2ef/2M/dimenet_plus_plus/dpp_relax.yml +++ b/configs/s2ef/2M/dimenet_plus_plus/dpp_relax.yml @@ -1,13 +1,30 @@ -trainer: forces +trainer: ocp + +loss_functions: + - energy: + fn: mae + coefficient: 1 + - forces: + fn: l2mae + coefficient: 50 dataset: - - src: data/s2ef/2M/train/ - normalize_labels: True - target_mean: -0.7554450631141663 - target_std: 2.887317180633545 - grad_target_mean: 0.0 - grad_target_std: 2.887317180633545 - - src: data/s2ef/all/val_id/ + train: + format: lmdb + src: data/s2ef/2M/train/ + key_mapping: + y: energy + force: forces + transforms: + normalizer: + energy: + mean: -0.7554450631141663 + stdev: 2.887317180633545 + forces: + mean: 0 + stdev: 2.887317180633545 + val: + src: data/s2ef/all/val_id/ logger: wandb @@ -65,4 +82,3 @@ optim: warmup_steps: 10416 warmup_factor: 0.2 max_epochs: 15 - force_coefficient: 50 diff --git a/configs/s2ef/2M/equiformer_v2/equiformer_v2_N@12_L@6_M@2.yml b/configs/s2ef/2M/equiformer_v2/equiformer_v2_N@12_L@6_M@2.yml index 16febee94..6427279fb 100755 --- a/configs/s2ef/2M/equiformer_v2/equiformer_v2_N@12_L@6_M@2.yml +++ b/configs/s2ef/2M/equiformer_v2/equiformer_v2_N@12_L@6_M@2.yml @@ -66,11 +66,7 @@ optim: lr_min_factor: 0.01 # max_epochs: 30 - force_coefficient: 100 - energy_coefficient: 2 clip_grad_norm: 100 ema_decay: 0.999 - loss_energy: mae - loss_force: l2mae eval_every: 5000 diff --git a/configs/s2ef/2M/escn/eSCN-L4-M2-Lay12.yml b/configs/s2ef/2M/escn/eSCN-L4-M2-Lay12.yml index 285182e1f..be3f3dbd2 100755 --- a/configs/s2ef/2M/escn/eSCN-L4-M2-Lay12.yml +++ b/configs/s2ef/2M/escn/eSCN-L4-M2-Lay12.yml @@ -35,9 +35,5 @@ optim: warmup_steps: 100 warmup_factor: 0.2 max_epochs: 12 - force_coefficient: 100 - energy_coefficient: 2 clip_grad_norm: 20 ema_decay: 0.999 - loss_energy: mae - loss_force: l2mae diff --git a/configs/s2ef/2M/escn/eSCN-L6-M2-Lay12.yml b/configs/s2ef/2M/escn/eSCN-L6-M2-Lay12.yml index e2c1810ad..543ccc929 100755 --- a/configs/s2ef/2M/escn/eSCN-L6-M2-Lay12.yml +++ b/configs/s2ef/2M/escn/eSCN-L6-M2-Lay12.yml @@ -35,9 +35,5 @@ optim: warmup_steps: 100 warmup_factor: 0.2 max_epochs: 12 - force_coefficient: 100 - energy_coefficient: 2 clip_grad_norm: 100 ema_decay: 0.999 - loss_energy: mae - loss_force: l2mae diff --git a/configs/s2ef/2M/gemnet/gemnet-dT.yml b/configs/s2ef/2M/gemnet/gemnet-dT.yml index 6665e6a51..9ea10215f 100644 --- a/configs/s2ef/2M/gemnet/gemnet-dT.yml +++ b/configs/s2ef/2M/gemnet/gemnet-dT.yml @@ -1,6 +1,14 @@ includes: - configs/s2ef/2M/base.yml +loss_functions: + - energy: + fn: mae + coefficient: 1 + - forces: + fn: l2mae + coefficient: 100 + model: name: gemnet_t num_spherical: 7 @@ -47,9 +55,5 @@ optim: factor: 0.8 patience: 3 max_epochs: 80 - force_coefficient: 100 - energy_coefficient: 1 ema_decay: 0.999 clip_grad_norm: 10 - loss_energy: mae - loss_force: l2mae diff --git a/configs/s2ef/2M/gemnet/gemnet-oc.yml b/configs/s2ef/2M/gemnet/gemnet-oc.yml index 9cf409eba..e0ba07a11 100644 --- a/configs/s2ef/2M/gemnet/gemnet-oc.yml +++ b/configs/s2ef/2M/gemnet/gemnet-oc.yml @@ -75,5 +75,3 @@ optim: max_epochs: 80 ema_decay: 0.999 clip_grad_norm: 10 - loss_energy: mae - loss_force: l2mae diff --git a/configs/s2ef/2M/schnet/schnet.yml b/configs/s2ef/2M/schnet/schnet.yml index 96f74f8e5..538d01472 100755 --- a/configs/s2ef/2M/schnet/schnet.yml +++ b/configs/s2ef/2M/schnet/schnet.yml @@ -1,6 +1,14 @@ includes: - configs/s2ef/2M/base.yml +loss_functions: + - energy: + fn: mae + coefficient: 1 + - forces: + fn: l2mae + coefficient: 100 + model: name: schnet hidden_channels: 1024 @@ -28,4 +36,3 @@ optim: warmup_steps: 31250 warmup_factor: 0.2 max_epochs: 30 - force_coefficient: 100 diff --git a/configs/s2ef/2M/scn/scn-t1-b1.yml b/configs/s2ef/2M/scn/scn-t1-b1.yml index 8bdcfe883..005031a13 100755 --- a/configs/s2ef/2M/scn/scn-t1-b1.yml +++ b/configs/s2ef/2M/scn/scn-t1-b1.yml @@ -41,9 +41,4 @@ optim: warmup_steps: 100 warmup_factor: 0.2 max_epochs: 12 - force_coefficient: 100 - energy_coefficient: 2 - clip_grad_norm: 100 ema_decay: 0.999 - loss_energy: mae - loss_force: l2mae diff --git a/configs/s2ef/2M/scn/scn-t4-b2.yml b/configs/s2ef/2M/scn/scn-t4-b2.yml index 18ea98bd8..6b45a0851 100755 --- a/configs/s2ef/2M/scn/scn-t4-b2.yml +++ b/configs/s2ef/2M/scn/scn-t4-b2.yml @@ -41,9 +41,5 @@ optim: warmup_steps: 100 warmup_factor: 0.2 max_epochs: 12 - force_coefficient: 100 - energy_coefficient: 2 clip_grad_norm: 100 ema_decay: 0.999 - loss_energy: mae - loss_force: l2mae diff --git a/configs/s2ef/all/base.yml b/configs/s2ef/all/base.yml index 712a596db..69e670a62 100755 --- a/configs/s2ef/all/base.yml +++ b/configs/s2ef/all/base.yml @@ -1,23 +1,51 @@ -trainer: forces +trainer: ocp dataset: - - src: data/s2ef/all/train/ - normalize_labels: True - target_mean: -0.7554450631141663 - target_std: 2.887317180633545 - grad_target_mean: 0.0 - grad_target_std: 2.887317180633545 - - src: data/s2ef/all/val_id/ + train: + format: lmdb + src: data/s2ef/all/train/ + key_mapping: + y: energy + force: forces + transforms: + normalizer: + energy: + mean: -0.7554450631141663 + stdev: 2.887317180633545 + forces: + mean: 0 + stdev: 2.887317180633545 + val: + src: data/s2ef/all/val_id/ logger: wandb -task: - dataset: trajectory_lmdb - description: "Regressing to energies and forces for DFT trajectories from OCP" - type: regression - metric: mae - labels: - - potential energy - grad_input: atomic forces - train_on_free_atoms: True - eval_on_free_atoms: True +outputs: + energy: + shape: 1 + level: system + forces: + irrep_dim: 1 + level: atom + train_on_free_atoms: True + eval_on_free_atoms: True + +loss_functions: + - energy: + fn: mae + coefficient: 1 + - forces: + fn: l2mae + coefficient: 100 + +evaluation_metrics: + metrics: + energy: + - mae + forces: + - mae + - cosine_similarity + - magnitude_error + misc: + - energy_forces_within_threshold + primary_metric: forces_mae diff --git a/configs/s2ef/all/dimenet_plus_plus/dpp.yml b/configs/s2ef/all/dimenet_plus_plus/dpp.yml index b693033eb..4b64a76b8 100755 --- a/configs/s2ef/all/dimenet_plus_plus/dpp.yml +++ b/configs/s2ef/all/dimenet_plus_plus/dpp.yml @@ -1,6 +1,14 @@ includes: - configs/s2ef/all/base.yml +loss_functions: + - energy: + fn: mae + coefficient: 1 + - forces: + fn: l2mae + coefficient: 50 + model: name: dimenetplusplus hidden_channels: 192 @@ -34,4 +42,3 @@ optim: warmup_steps: 130794 warmup_factor: 0.2 max_epochs: 7 - force_coefficient: 50 diff --git a/configs/s2ef/all/dimenet_plus_plus/dpp10.7M_forceonly.yml b/configs/s2ef/all/dimenet_plus_plus/dpp10.7M_forceonly.yml index afbc15a61..b9a4d63a2 100755 --- a/configs/s2ef/all/dimenet_plus_plus/dpp10.7M_forceonly.yml +++ b/configs/s2ef/all/dimenet_plus_plus/dpp10.7M_forceonly.yml @@ -1,27 +1,45 @@ -trainer: forces +trainer: ocp dataset: - - src: data/s2ef/all/train/ - normalize_labels: True - target_mean: -0.7554450631141663 - target_std: 2.887317180633545 - grad_target_mean: 0.0 - grad_target_std: 2.887317180633545 - - src: data/s2ef/all/val_id/ + train: + format: lmdb + src: data/s2ef/all/train/ + key_mapping: + y: energy + force: forces + transforms: + normalizer: + energy: + mean: -0.7554450631141663 + stdev: 2.887317180633545 + forces: + mean: 0 + stdev: 2.887317180633545 + val: + src: data/s2ef/all/val_id/ logger: wandb -task: - dataset: trajectory_lmdb - description: "Regressing to energies and forces for DFT trajectories from OCP" - type: regression - metric: mae +outputs: + forces: + irrep_dim: 1 + level: atom + train_on_free_atoms: True + eval_on_free_atoms: True + +loss_functions: + - forces: + fn: l2mae + coefficient: 100 + +evaluation_metrics: + metrics: + forces: + - mae + - cosine_similarity + - magnitude_error primary_metric: forces_mae - labels: - - potential energy - grad_input: atomic forces - train_on_free_atoms: True - eval_on_free_atoms: True + model: name: dimenetplusplus @@ -56,5 +74,3 @@ optim: warmup_steps: 174393 warmup_factor: 0.2 max_epochs: 5 - energy_coefficient: 0 - force_coefficient: 100 diff --git a/configs/s2ef/all/dimenet_plus_plus/dpp_energyonly.yml b/configs/s2ef/all/dimenet_plus_plus/dpp_energyonly.yml index 347fdabae..d74e0a629 100755 --- a/configs/s2ef/all/dimenet_plus_plus/dpp_energyonly.yml +++ b/configs/s2ef/all/dimenet_plus_plus/dpp_energyonly.yml @@ -1,27 +1,41 @@ -trainer: forces +trainer: ocp dataset: - - src: data/s2ef/all/train/ - normalize_labels: True - target_mean: -0.7554450631141663 - target_std: 2.887317180633545 - grad_target_mean: 0.0 - grad_target_std: 2.887317180633545 - - src: data/s2ef/all/val_id/ + train: + format: lmdb + src: data/s2ef/all/train/ + key_mapping: + y: energy + transforms: + normalizer: + energy: + mean: -0.7554450631141663 + stdev: 2.887317180633545 + val: + src: data/s2ef/all/val_id/ logger: wandb -task: - dataset: trajectory_lmdb - description: "Regressing to energies and forces for DFT trajectories from OCP" - type: regression - metric: mae +outputs: + energy: + shape: 1 + level: system + +loss_functions: + - energy: + fn: mae + coefficient: 100 + +evaluation_metrics: + metrics: + energy: + - mae + - mse + - energy_within_threshold + misc: + - energy_forces_within_threshold primary_metric: energy_mae - labels: - - potential energy - grad_input: atomic forces - train_on_free_atoms: True - eval_on_free_atoms: True + model: name: dimenetplusplus @@ -56,5 +70,3 @@ optim: warmup_steps: 130794 warmup_factor: 0.2 max_epochs: 7 - energy_coefficient: 100 - force_coefficient: 0 diff --git a/configs/s2ef/all/dimenet_plus_plus/dpp_forceonly.yml b/configs/s2ef/all/dimenet_plus_plus/dpp_forceonly.yml index 8f21f7c2c..d7bbc7965 100755 --- a/configs/s2ef/all/dimenet_plus_plus/dpp_forceonly.yml +++ b/configs/s2ef/all/dimenet_plus_plus/dpp_forceonly.yml @@ -1,27 +1,45 @@ -trainer: forces +trainer: ocp dataset: - - src: data/s2ef/all/train/ - normalize_labels: True - target_mean: -0.7554450631141663 - target_std: 2.887317180633545 - grad_target_mean: 0.0 - grad_target_std: 2.887317180633545 - - src: data/s2ef/all/val_id/ + train: + format: lmdb + src: data/s2ef/all/train/ + key_mapping: + y: energy + force: forces + transforms: + normalizer: + energy: + mean: -0.7554450631141663 + stdev: 2.887317180633545 + forces: + mean: 0 + stdev: 2.887317180633545 + val: + src: data/s2ef/all/val_id/ logger: wandb -task: - dataset: trajectory_lmdb - description: "Regressing to energies and forces for DFT trajectories from OCP" - type: regression - metric: mae +outputs: + forces: + irrep_dim: 1 + level: atom + train_on_free_atoms: True + eval_on_free_atoms: True + +loss_functions: + - forces: + fn: l2mae + coefficient: 100 + +evaluation_metrics: + metrics: + forces: + - mae + - cosine_similarity + - magnitude_error primary_metric: forces_mae - labels: - - potential energy - grad_input: atomic forces - train_on_free_atoms: True - eval_on_free_atoms: True + model: name: dimenetplusplus @@ -56,5 +74,3 @@ optim: warmup_steps: 523179 warmup_factor: 0.2 max_epochs: 7 - energy_coefficient: 0 - force_coefficient: 100 diff --git a/configs/s2ef/all/equiformer_v2/equiformer_v2_N@20_L@6_M@3_153M.yml b/configs/s2ef/all/equiformer_v2/equiformer_v2_N@20_L@6_M@3_153M.yml index c8d5602c5..24e050d9b 100755 --- a/configs/s2ef/all/equiformer_v2/equiformer_v2_N@20_L@6_M@3_153M.yml +++ b/configs/s2ef/all/equiformer_v2/equiformer_v2_N@20_L@6_M@3_153M.yml @@ -1,30 +1,54 @@ trainer: equiformerv2_forces - dataset: train: + format: lmdb src: data/s2ef/all_md/train/ - normalize_labels: True - target_mean: -0.7554450631141663 - target_std: 2.887317180633545 - grad_target_mean: 0.0 - grad_target_std: 2.887317180633545 + key_mapping: + y: energy + force: forces + transforms: + normalizer: + energy: + mean: -0.7554450631141663 + stdev: 2.887317180633545 + forces: + mean: 0 + stdev: 2.887317180633545 val: src: data/s2ef/all/val_id/ - logger: wandb - -task: - dataset: lmdb +outputs: + energy: + shape: 1 + level: system + forces: + irrep_dim: 1 + level: atom + train_on_free_atoms: True + eval_on_free_atoms: True + +loss_functions: + - energy: + fn: mae + coefficient: 4 + - forces: + fn: l2mae + coefficient: 100 + +evaluation_metrics: + metrics: + energy: + - mae + forces: + - mae + - cosine_similarity + - magnitude_error + misc: + - energy_forces_within_threshold primary_metric: forces_mae - labels: - - potential energy - grad_input: atomic forces - train_on_free_atoms: True - eval_on_free_atoms: True - hide_eval_progressbar: False @@ -89,11 +113,7 @@ optim: lr_min_factor: 0.01 # max_epochs: 1 - force_coefficient: 100 - energy_coefficient: 4 clip_grad_norm: 100 ema_decay: 0.999 - loss_energy: mae - loss_force: l2mae eval_every: 10000 diff --git a/configs/s2ef/all/equiformer_v2/equiformer_v2_N@8_L@4_M@2_31M.yml b/configs/s2ef/all/equiformer_v2/equiformer_v2_N@8_L@4_M@2_31M.yml index ea0327af0..65755ff4a 100755 --- a/configs/s2ef/all/equiformer_v2/equiformer_v2_N@8_L@4_M@2_31M.yml +++ b/configs/s2ef/all/equiformer_v2/equiformer_v2_N@8_L@4_M@2_31M.yml @@ -1,30 +1,54 @@ trainer: equiformerv2_forces - dataset: train: + format: lmdb src: data/s2ef/all_md/train/ - normalize_labels: True - target_mean: -0.7554450631141663 - target_std: 2.887317180633545 - grad_target_mean: 0.0 - grad_target_std: 2.887317180633545 + key_mapping: + y: energy + force: forces + transforms: + normalizer: + energy: + mean: -0.7554450631141663 + stdev: 2.887317180633545 + forces: + mean: 0 + stdev: 2.887317180633545 val: src: data/s2ef/all/val_id/ - logger: wandb - -task: - dataset: lmdb +outputs: + energy: + shape: 1 + level: system + forces: + irrep_dim: 1 + level: atom + train_on_free_atoms: True + eval_on_free_atoms: True + +loss_functions: + - energy: + fn: mae + coefficient: 4 + - forces: + fn: l2mae + coefficient: 100 + +evaluation_metrics: + metrics: + energy: + - mae + forces: + - mae + - cosine_similarity + - magnitude_error + misc: + - energy_forces_within_threshold primary_metric: forces_mae - labels: - - potential energy - grad_input: atomic forces - train_on_free_atoms: True - eval_on_free_atoms: True - hide_eval_progressbar: False @@ -89,11 +113,7 @@ optim: lr_min_factor: 0.01 # max_epochs: 3 - force_coefficient: 100 - energy_coefficient: 4 clip_grad_norm: 100 ema_decay: 0.999 - loss_energy: mae - loss_force: l2mae eval_every: 10000 diff --git a/configs/s2ef/all/escn/eSCN-L6-M2-Lay12-All-MD.yml b/configs/s2ef/all/escn/eSCN-L6-M2-Lay12-All-MD.yml index 299e23575..d06296e30 100755 --- a/configs/s2ef/all/escn/eSCN-L6-M2-Lay12-All-MD.yml +++ b/configs/s2ef/all/escn/eSCN-L6-M2-Lay12-All-MD.yml @@ -39,5 +39,3 @@ optim: energy_coefficient: 4 clip_grad_norm: 20 ema_decay: 0.999 - loss_energy: mae - loss_force: l2mae diff --git a/configs/s2ef/all/escn/eSCN-L6-M3-Lay20-All-MD.yml b/configs/s2ef/all/escn/eSCN-L6-M3-Lay20-All-MD.yml index 554284863..c246b9d14 100755 --- a/configs/s2ef/all/escn/eSCN-L6-M3-Lay20-All-MD.yml +++ b/configs/s2ef/all/escn/eSCN-L6-M3-Lay20-All-MD.yml @@ -39,5 +39,3 @@ optim: energy_coefficient: 4 clip_grad_norm: 20 ema_decay: 0.999 - loss_energy: mae - loss_force: l2mae diff --git a/configs/s2ef/all/gemnet/gemnet-dT.yml b/configs/s2ef/all/gemnet/gemnet-dT.yml index f40301841..c67c07d6e 100644 --- a/configs/s2ef/all/gemnet/gemnet-dT.yml +++ b/configs/s2ef/all/gemnet/gemnet-dT.yml @@ -51,5 +51,3 @@ optim: energy_coefficient: 1 ema_decay: 0.999 clip_grad_norm: 10 - loss_energy: mae - loss_force: l2mae diff --git a/configs/s2ef/all/gemnet/gemnet-oc-large.yml b/configs/s2ef/all/gemnet/gemnet-oc-large.yml index 2bf69b209..35e7ee05b 100644 --- a/configs/s2ef/all/gemnet/gemnet-oc-large.yml +++ b/configs/s2ef/all/gemnet/gemnet-oc-large.yml @@ -77,5 +77,3 @@ optim: energy_coefficient: 1 ema_decay: 0.999 clip_grad_norm: 10 - loss_energy: mae - loss_force: l2mae diff --git a/configs/s2ef/all/gemnet/gemnet-oc.yml b/configs/s2ef/all/gemnet/gemnet-oc.yml index e113af76f..37d528a26 100644 --- a/configs/s2ef/all/gemnet/gemnet-oc.yml +++ b/configs/s2ef/all/gemnet/gemnet-oc.yml @@ -73,9 +73,5 @@ optim: factor: 0.8 patience: 3 max_epochs: 80 - force_coefficient: 100 - energy_coefficient: 1 ema_decay: 0.999 clip_grad_norm: 10 - loss_energy: mae - loss_force: l2mae diff --git a/configs/s2ef/all/gp_gemnet/gp-gemnet-dT.yml b/configs/s2ef/all/gp_gemnet/gp-gemnet-dT.yml index 02e4dd97c..c27aa4ed4 100644 --- a/configs/s2ef/all/gp_gemnet/gp-gemnet-dT.yml +++ b/configs/s2ef/all/gp_gemnet/gp-gemnet-dT.yml @@ -53,5 +53,3 @@ optim: energy_coefficient: 1 ema_decay: 0.999 clip_grad_norm: 10 - loss_energy: mae - loss_force: l2mae diff --git a/configs/s2ef/all/gp_gemnet/gp-gemnet-xl.yml b/configs/s2ef/all/gp_gemnet/gp-gemnet-xl.yml index cdedb27d8..a5376e15f 100644 --- a/configs/s2ef/all/gp_gemnet/gp-gemnet-xl.yml +++ b/configs/s2ef/all/gp_gemnet/gp-gemnet-xl.yml @@ -55,6 +55,4 @@ optim: energy_coefficient: 1 ema_decay: 0.999 clip_grad_norm: 10 - loss_energy: mae - loss_force: l2mae load_balancing: neighbors diff --git a/configs/s2ef/all/painn/painn_h512.yml b/configs/s2ef/all/painn/painn_h512.yml index da79efb5b..2a2f7a229 100644 --- a/configs/s2ef/all/painn/painn_h512.yml +++ b/configs/s2ef/all/painn/painn_h512.yml @@ -34,5 +34,3 @@ optim: energy_coefficient: 1 ema_decay: 0.999 clip_grad_norm: 10 - loss_energy: mae - loss_force: l2mae diff --git a/configs/s2ef/all/schnet/schnet.yml b/configs/s2ef/all/schnet/schnet.yml index 46ad056d0..70e36518f 100755 --- a/configs/s2ef/all/schnet/schnet.yml +++ b/configs/s2ef/all/schnet/schnet.yml @@ -1,6 +1,14 @@ includes: - configs/s2ef/all/base.yml +loss_functions: + - energy: + fn: mae + coefficient: 1 + - forces: + fn: l2mae + coefficient: 30 + model: name: schnet hidden_channels: 1024 @@ -29,4 +37,3 @@ optim: warmup_steps: 209271 warmup_factor: 0.2 max_epochs: 15 - force_coefficient: 30 diff --git a/configs/s2ef/all/scn/scn-all-md.yml b/configs/s2ef/all/scn/scn-all-md.yml index 40f2ce44f..c4169e2cf 100755 --- a/configs/s2ef/all/scn/scn-all-md.yml +++ b/configs/s2ef/all/scn/scn-all-md.yml @@ -3,6 +3,14 @@ includes: - configs/s2ef/all/base.yml +loss_functions: + - energy: + fn: mae + coefficient: 4 + - forces: + fn: l2mae + coefficient: 100 + model: name: scn num_interactions: 16 @@ -42,9 +50,5 @@ optim: warmup_steps: 100 warmup_factor: 0.2 max_epochs: 12 - force_coefficient: 100 - energy_coefficient: 4 clip_grad_norm: 100 ema_decay: 0.999 - loss_energy: mae - loss_force: l2mae