Upload InvDesMobility artifact release
Browse files- README.md +70 -0
- finetuned/generator_round_01/best.ckpt +3 -0
- finetuned/generator_round_01/hparams.yaml +165 -0
- finetuned/generator_round_01/lattice_scaler.pt +3 -0
- finetuned/generator_round_01/prop_scaler.pt +3 -0
- finetuned/generator_round_02/best.ckpt +3 -0
- finetuned/generator_round_02/hparams.yaml +165 -0
- finetuned/generator_round_02/lattice_scaler.pt +3 -0
- finetuned/generator_round_02/prop_scaler.pt +3 -0
- finetuned/generator_round_03/best.ckpt +3 -0
- finetuned/generator_round_03/hparams.yaml +165 -0
- finetuned/generator_round_03/lattice_scaler.pt +3 -0
- finetuned/generator_round_03/prop_scaler.pt +3 -0
- finetuned/generator_round_04/best.ckpt +3 -0
- finetuned/generator_round_04/hparams.yaml +165 -0
- finetuned/generator_round_04/lattice_scaler.pt +3 -0
- finetuned/generator_round_04/prop_scaler.pt +3 -0
- finetuned/generator_round_06/best.ckpt +3 -0
- finetuned/generator_round_06/hparams.yaml +165 -0
- finetuned/generator_round_06/lattice_scaler.pt +3 -0
- finetuned/generator_round_06/prop_scaler.pt +3 -0
- finetuned/generator_round_07/best.ckpt +3 -0
- finetuned/generator_round_07/hparams.yaml +165 -0
- finetuned/generator_round_07/lattice_scaler.pt +3 -0
- finetuned/generator_round_07/prop_scaler.pt +3 -0
- finetuned/generator_round_08/best.ckpt +3 -0
- finetuned/generator_round_08/hparams.yaml +165 -0
- finetuned/generator_round_08/lattice_scaler.pt +3 -0
- finetuned/generator_round_08/prop_scaler.pt +3 -0
- finetuned/generator_round_09/best.ckpt +3 -0
- finetuned/generator_round_09/hparams.yaml +165 -0
- finetuned/generator_round_09/lattice_scaler.pt +3 -0
- finetuned/generator_round_09/prop_scaler.pt +3 -0
- finetuned/mobility2d_highquality280_ft_v1/best.ckpt +3 -0
- finetuned/mobility2d_highquality280_ft_v1/hparams.yaml +165 -0
- finetuned/mobility2d_highquality280_ft_v1/lattice_scaler.pt +3 -0
- finetuned/mobility2d_highquality280_ft_v1/prop_scaler.pt +3 -0
- pretrained/PretrainGenerationModel.ckpt +3 -0
README.md
ADDED
|
@@ -0,0 +1,70 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
library_name: pytorch
|
| 3 |
+
tags:
|
| 4 |
+
- materials-science
|
| 5 |
+
- crystal-generation
|
| 6 |
+
- graph-ml
|
| 7 |
+
- diffusion-model
|
| 8 |
+
- diffcsp
|
| 9 |
+
- inverse-design
|
| 10 |
+
license: other
|
| 11 |
+
---
|
| 12 |
+
|
| 13 |
+
# InvDesMobility DiffCSP Generator Checkpoints
|
| 14 |
+
|
| 15 |
+
This repository contains the DiffCSP generator checkpoints used by the
|
| 16 |
+
InvDesMobility inverse-design workflow. The checkpoints are released as
|
| 17 |
+
external artifacts for the code repositories:
|
| 18 |
+
|
| 19 |
+
- https://github.com/DreamLufei/invDesMobility
|
| 20 |
+
- https://github.com/DreamLufei/invdesmobility_loop
|
| 21 |
+
- https://github.com/DreamLufei/2d-mobility
|
| 22 |
+
|
| 23 |
+
## Files
|
| 24 |
+
|
| 25 |
+
- `pretrained/PretrainGenerationModel.ckpt`: upstream DiffCSP warm-start checkpoint used by the pipeline.
|
| 26 |
+
- `finetuned/mobility2d_highquality280_ft_v1/best.ckpt`: seed mobility-2D fine-tuned generator.
|
| 27 |
+
- `finetuned/generator_round_XX/best.ckpt`: closed-loop feedback fine-tuned generators for rounds 01, 02, 03, 04, 06, 07, 08, and 09.
|
| 28 |
+
- Each fine-tuned directory also includes `hparams.yaml`, `lattice_scaler.pt`, and `prop_scaler.pt`.
|
| 29 |
+
|
| 30 |
+
The `epoch=...ckpt` files from local training logs are intentionally omitted because
|
| 31 |
+
they are byte-identical to the retained `best.ckpt` files for the corresponding
|
| 32 |
+
rounds. Run logs, W&B files, generated pools, and VASP outputs are not included.
|
| 33 |
+
|
| 34 |
+
## Intended Use
|
| 35 |
+
|
| 36 |
+
These checkpoints are intended for reproducing the candidate-generation stage of
|
| 37 |
+
InvDesMobility and for research use in feedback-guided 2D crystal generation.
|
| 38 |
+
|
| 39 |
+
## Training Data
|
| 40 |
+
|
| 41 |
+
The seed model was fine-tuned on the mobility-2D high-quality seed dataset.
|
| 42 |
+
Closed-loop checkpoints were fine-tuned on feedback-augmented DiffCSP datasets
|
| 43 |
+
constructed from trusted first-principles mobility-validation records.
|
| 44 |
+
|
| 45 |
+
The matching datasets are packaged separately in `DreamLufei/invDesMobility-data`.
|
| 46 |
+
|
| 47 |
+
## Training Parameters
|
| 48 |
+
|
| 49 |
+
The retained `hparams.yaml` files contain the exact DiffCSP/PyTorch Lightning
|
| 50 |
+
configuration for each checkpoint, including model architecture, dataset path,
|
| 51 |
+
batch size, optimization configuration, and diffusion scheduler settings.
|
| 52 |
+
|
| 53 |
+
Key settings used by the feedback models include:
|
| 54 |
+
|
| 55 |
+
- DiffCSP `CSPDiffusion` with `CSPNet` decoder.
|
| 56 |
+
- `hidden_dim=512`, `num_layers=6`, `max_neighbors=20`, `radius=7.0`.
|
| 57 |
+
- Fine-tuning via the project scripts under `05_steps/02_finetune_generator/` and
|
| 58 |
+
`05_steps/09_closed_loop_feedback/`.
|
| 59 |
+
|
| 60 |
+
## Limitations
|
| 61 |
+
|
| 62 |
+
The generator proposes candidate structures; it does not validate mobility,
|
| 63 |
+
dynamic stability, synthesizability, or DFT-level electronic structure. Candidate
|
| 64 |
+
structures require downstream deduplication, surrogate screening, and
|
| 65 |
+
first-principles validation with the companion `2d-mobility` workflow.
|
| 66 |
+
|
| 67 |
+
## Citation
|
| 68 |
+
|
| 69 |
+
If you use these checkpoints, please cite the InvDesMobility manuscript and the
|
| 70 |
+
associated GitHub repositories above.
|
finetuned/generator_round_01/best.ckpt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:9c72cfa22cf1d9f0df838d226435be965e27e913267a2bfa67121f370f1257fe
|
| 3 |
+
size 148276301
|
finetuned/generator_round_01/hparams.yaml
ADDED
|
@@ -0,0 +1,165 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
data:
|
| 2 |
+
root_path: /home/wkli/invDesMobility/01_code/InvDesFlow/data/mobility2d_feedback_round_01
|
| 3 |
+
prop: formation_energy_per_atom
|
| 4 |
+
num_targets: 1
|
| 5 |
+
niggli: true
|
| 6 |
+
primitive: false
|
| 7 |
+
graph_method: crystalnn
|
| 8 |
+
lattice_scale_method: scale_length
|
| 9 |
+
preprocess_workers: 8
|
| 10 |
+
readout: mean
|
| 11 |
+
max_atoms: 36
|
| 12 |
+
otf_graph: false
|
| 13 |
+
eval_model_name: mp20
|
| 14 |
+
tolerance: 0.1
|
| 15 |
+
use_space_group: false
|
| 16 |
+
use_pos_index: false
|
| 17 |
+
train_max_epochs: 1000
|
| 18 |
+
early_stopping_patience: 100000
|
| 19 |
+
teacher_forcing_max_epoch: 500
|
| 20 |
+
datamodule:
|
| 21 |
+
_target_: diffcsp.pl_data.datamodule.CrystDataModule
|
| 22 |
+
datasets:
|
| 23 |
+
train:
|
| 24 |
+
_target_: diffcsp.pl_data.dataset.CrystDataset
|
| 25 |
+
name: Formation energy train
|
| 26 |
+
path: ${data.root_path}/train.csv
|
| 27 |
+
save_path: ${data.root_path}/train_ori.pt
|
| 28 |
+
prop: ${data.prop}
|
| 29 |
+
niggli: ${data.niggli}
|
| 30 |
+
primitive: ${data.primitive}
|
| 31 |
+
graph_method: ${data.graph_method}
|
| 32 |
+
tolerance: ${data.tolerance}
|
| 33 |
+
use_space_group: ${data.use_space_group}
|
| 34 |
+
use_pos_index: ${data.use_pos_index}
|
| 35 |
+
lattice_scale_method: ${data.lattice_scale_method}
|
| 36 |
+
preprocess_workers: ${data.preprocess_workers}
|
| 37 |
+
val:
|
| 38 |
+
- _target_: diffcsp.pl_data.dataset.CrystDataset
|
| 39 |
+
name: Formation energy val
|
| 40 |
+
path: ${data.root_path}/val.csv
|
| 41 |
+
save_path: ${data.root_path}/val_ori.pt
|
| 42 |
+
prop: ${data.prop}
|
| 43 |
+
niggli: ${data.niggli}
|
| 44 |
+
primitive: ${data.primitive}
|
| 45 |
+
graph_method: ${data.graph_method}
|
| 46 |
+
tolerance: ${data.tolerance}
|
| 47 |
+
use_space_group: ${data.use_space_group}
|
| 48 |
+
use_pos_index: ${data.use_pos_index}
|
| 49 |
+
lattice_scale_method: ${data.lattice_scale_method}
|
| 50 |
+
preprocess_workers: ${data.preprocess_workers}
|
| 51 |
+
test:
|
| 52 |
+
- _target_: diffcsp.pl_data.dataset.CrystDataset
|
| 53 |
+
name: Formation energy test
|
| 54 |
+
path: ${data.root_path}/test.csv
|
| 55 |
+
save_path: ${data.root_path}/test_ori.pt
|
| 56 |
+
prop: ${data.prop}
|
| 57 |
+
niggli: ${data.niggli}
|
| 58 |
+
primitive: ${data.primitive}
|
| 59 |
+
graph_method: ${data.graph_method}
|
| 60 |
+
tolerance: ${data.tolerance}
|
| 61 |
+
use_space_group: ${data.use_space_group}
|
| 62 |
+
use_pos_index: ${data.use_pos_index}
|
| 63 |
+
lattice_scale_method: ${data.lattice_scale_method}
|
| 64 |
+
preprocess_workers: ${data.preprocess_workers}
|
| 65 |
+
num_workers:
|
| 66 |
+
train: 0
|
| 67 |
+
val: 0
|
| 68 |
+
test: 0
|
| 69 |
+
batch_size:
|
| 70 |
+
train: 256
|
| 71 |
+
val: 128
|
| 72 |
+
test: 128
|
| 73 |
+
logging:
|
| 74 |
+
val_check_interval: 5
|
| 75 |
+
progress_bar_refresh_rate: 1
|
| 76 |
+
wandb:
|
| 77 |
+
name: ${expname}
|
| 78 |
+
project: diffcsp
|
| 79 |
+
entity: null
|
| 80 |
+
log_model: true
|
| 81 |
+
mode: offline
|
| 82 |
+
group: ${expname}
|
| 83 |
+
wandb_watch:
|
| 84 |
+
log: all
|
| 85 |
+
log_freq: 500
|
| 86 |
+
lr_monitor:
|
| 87 |
+
logging_interval: step
|
| 88 |
+
log_momentum: false
|
| 89 |
+
model:
|
| 90 |
+
decoder:
|
| 91 |
+
_target_: diffcsp.pl_modules.cspnet.CSPNet
|
| 92 |
+
hidden_dim: 512
|
| 93 |
+
latent_dim: 0
|
| 94 |
+
max_atoms: 100
|
| 95 |
+
num_layers: 6
|
| 96 |
+
act_fn: silu
|
| 97 |
+
dis_emb: sin
|
| 98 |
+
num_freqs: 128
|
| 99 |
+
edge_style: fc
|
| 100 |
+
max_neighbors: ${model.max_neighbors}
|
| 101 |
+
cutoff: ${model.radius}
|
| 102 |
+
ln: true
|
| 103 |
+
ip: true
|
| 104 |
+
beta_scheduler:
|
| 105 |
+
_target_: diffcsp.pl_modules.diff_utils.BetaScheduler
|
| 106 |
+
timesteps: ${model.timesteps}
|
| 107 |
+
scheduler_mode: cosine
|
| 108 |
+
sigma_scheduler:
|
| 109 |
+
_target_: diffcsp.pl_modules.diff_utils.SigmaScheduler
|
| 110 |
+
timesteps: ${model.timesteps}
|
| 111 |
+
sigma_begin: 0.005
|
| 112 |
+
sigma_end: 0.5
|
| 113 |
+
_target_: diffcsp.pl_modules.diffusion_w_type.CSPDiffusion
|
| 114 |
+
time_dim: 256
|
| 115 |
+
latent_dim: 0
|
| 116 |
+
cost_coord: 1.0
|
| 117 |
+
cost_lattice: 1.0
|
| 118 |
+
cost_type: 20.0
|
| 119 |
+
max_neighbors: 20
|
| 120 |
+
radius: 7.0
|
| 121 |
+
timesteps: 1000
|
| 122 |
+
optim:
|
| 123 |
+
optimizer:
|
| 124 |
+
_target_: torch.optim.Adam
|
| 125 |
+
lr: 5.0e-05
|
| 126 |
+
betas:
|
| 127 |
+
- 0.9
|
| 128 |
+
- 0.999
|
| 129 |
+
eps: 1.0e-08
|
| 130 |
+
weight_decay: 0
|
| 131 |
+
use_lr_scheduler: true
|
| 132 |
+
lr_scheduler:
|
| 133 |
+
_target_: torch.optim.lr_scheduler.ReduceLROnPlateau
|
| 134 |
+
factor: 0.6
|
| 135 |
+
patience: 30
|
| 136 |
+
min_lr: 0.0001
|
| 137 |
+
train:
|
| 138 |
+
deterministic: true
|
| 139 |
+
random_seed: 42
|
| 140 |
+
pl_trainer:
|
| 141 |
+
fast_dev_run: false
|
| 142 |
+
gpus: 1
|
| 143 |
+
precision: 32
|
| 144 |
+
max_epochs: ${data.train_max_epochs}
|
| 145 |
+
accumulate_grad_batches: 1
|
| 146 |
+
num_sanity_val_steps: 2
|
| 147 |
+
gradient_clip_val: 0.5
|
| 148 |
+
gradient_clip_algorithm: value
|
| 149 |
+
profiler: simple
|
| 150 |
+
monitor_metric: val_loss
|
| 151 |
+
monitor_metric_mode: min
|
| 152 |
+
early_stopping:
|
| 153 |
+
patience: ${data.early_stopping_patience}
|
| 154 |
+
verbose: false
|
| 155 |
+
model_checkpoints:
|
| 156 |
+
save_top_k: 1
|
| 157 |
+
verbose: false
|
| 158 |
+
save_last: false
|
| 159 |
+
init_from_ckpt: /home/wkli/invDesMobility/04_models/01_diffcsp_generator/pretrained/PretrainGenerationModel.ckpt
|
| 160 |
+
init_strict: true
|
| 161 |
+
expname: mobility2d_highquality280_ft_v1
|
| 162 |
+
core:
|
| 163 |
+
version: 0.0.1
|
| 164 |
+
tags:
|
| 165 |
+
- ${now:%Y-%m-%d}
|
finetuned/generator_round_01/lattice_scaler.pt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:731c087288f0aa98f54f964a4101b23aa3dd7116074711852b997bc115ab8286
|
| 3 |
+
size 1063
|
finetuned/generator_round_01/prop_scaler.pt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:c408545b8f7beb849444765ff8e4737ed23b65a0f91a52e1a50997aa8efef40f
|
| 3 |
+
size 1063
|
finetuned/generator_round_02/best.ckpt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:1aa8b613eea0cd629bbca2e2faab887c0ccea207006e66ef24908b361604b55e
|
| 3 |
+
size 148276301
|
finetuned/generator_round_02/hparams.yaml
ADDED
|
@@ -0,0 +1,165 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
data:
|
| 2 |
+
root_path: /home/wkli/invDesMobility/01_code/InvDesFlow/data/mobility2d_feedback_round_02
|
| 3 |
+
prop: formation_energy_per_atom
|
| 4 |
+
num_targets: 1
|
| 5 |
+
niggli: true
|
| 6 |
+
primitive: false
|
| 7 |
+
graph_method: crystalnn
|
| 8 |
+
lattice_scale_method: scale_length
|
| 9 |
+
preprocess_workers: 8
|
| 10 |
+
readout: mean
|
| 11 |
+
max_atoms: 36
|
| 12 |
+
otf_graph: false
|
| 13 |
+
eval_model_name: mp20
|
| 14 |
+
tolerance: 0.1
|
| 15 |
+
use_space_group: false
|
| 16 |
+
use_pos_index: false
|
| 17 |
+
train_max_epochs: 1000
|
| 18 |
+
early_stopping_patience: 100000
|
| 19 |
+
teacher_forcing_max_epoch: 500
|
| 20 |
+
datamodule:
|
| 21 |
+
_target_: diffcsp.pl_data.datamodule.CrystDataModule
|
| 22 |
+
datasets:
|
| 23 |
+
train:
|
| 24 |
+
_target_: diffcsp.pl_data.dataset.CrystDataset
|
| 25 |
+
name: Formation energy train
|
| 26 |
+
path: ${data.root_path}/train.csv
|
| 27 |
+
save_path: ${data.root_path}/train_ori.pt
|
| 28 |
+
prop: ${data.prop}
|
| 29 |
+
niggli: ${data.niggli}
|
| 30 |
+
primitive: ${data.primitive}
|
| 31 |
+
graph_method: ${data.graph_method}
|
| 32 |
+
tolerance: ${data.tolerance}
|
| 33 |
+
use_space_group: ${data.use_space_group}
|
| 34 |
+
use_pos_index: ${data.use_pos_index}
|
| 35 |
+
lattice_scale_method: ${data.lattice_scale_method}
|
| 36 |
+
preprocess_workers: ${data.preprocess_workers}
|
| 37 |
+
val:
|
| 38 |
+
- _target_: diffcsp.pl_data.dataset.CrystDataset
|
| 39 |
+
name: Formation energy val
|
| 40 |
+
path: ${data.root_path}/val.csv
|
| 41 |
+
save_path: ${data.root_path}/val_ori.pt
|
| 42 |
+
prop: ${data.prop}
|
| 43 |
+
niggli: ${data.niggli}
|
| 44 |
+
primitive: ${data.primitive}
|
| 45 |
+
graph_method: ${data.graph_method}
|
| 46 |
+
tolerance: ${data.tolerance}
|
| 47 |
+
use_space_group: ${data.use_space_group}
|
| 48 |
+
use_pos_index: ${data.use_pos_index}
|
| 49 |
+
lattice_scale_method: ${data.lattice_scale_method}
|
| 50 |
+
preprocess_workers: ${data.preprocess_workers}
|
| 51 |
+
test:
|
| 52 |
+
- _target_: diffcsp.pl_data.dataset.CrystDataset
|
| 53 |
+
name: Formation energy test
|
| 54 |
+
path: ${data.root_path}/test.csv
|
| 55 |
+
save_path: ${data.root_path}/test_ori.pt
|
| 56 |
+
prop: ${data.prop}
|
| 57 |
+
niggli: ${data.niggli}
|
| 58 |
+
primitive: ${data.primitive}
|
| 59 |
+
graph_method: ${data.graph_method}
|
| 60 |
+
tolerance: ${data.tolerance}
|
| 61 |
+
use_space_group: ${data.use_space_group}
|
| 62 |
+
use_pos_index: ${data.use_pos_index}
|
| 63 |
+
lattice_scale_method: ${data.lattice_scale_method}
|
| 64 |
+
preprocess_workers: ${data.preprocess_workers}
|
| 65 |
+
num_workers:
|
| 66 |
+
train: 0
|
| 67 |
+
val: 0
|
| 68 |
+
test: 0
|
| 69 |
+
batch_size:
|
| 70 |
+
train: 256
|
| 71 |
+
val: 128
|
| 72 |
+
test: 128
|
| 73 |
+
logging:
|
| 74 |
+
val_check_interval: 5
|
| 75 |
+
progress_bar_refresh_rate: 1
|
| 76 |
+
wandb:
|
| 77 |
+
name: ${expname}
|
| 78 |
+
project: diffcsp
|
| 79 |
+
entity: null
|
| 80 |
+
log_model: true
|
| 81 |
+
mode: offline
|
| 82 |
+
group: ${expname}
|
| 83 |
+
wandb_watch:
|
| 84 |
+
log: all
|
| 85 |
+
log_freq: 500
|
| 86 |
+
lr_monitor:
|
| 87 |
+
logging_interval: step
|
| 88 |
+
log_momentum: false
|
| 89 |
+
model:
|
| 90 |
+
decoder:
|
| 91 |
+
_target_: diffcsp.pl_modules.cspnet.CSPNet
|
| 92 |
+
hidden_dim: 512
|
| 93 |
+
latent_dim: 0
|
| 94 |
+
max_atoms: 100
|
| 95 |
+
num_layers: 6
|
| 96 |
+
act_fn: silu
|
| 97 |
+
dis_emb: sin
|
| 98 |
+
num_freqs: 128
|
| 99 |
+
edge_style: fc
|
| 100 |
+
max_neighbors: ${model.max_neighbors}
|
| 101 |
+
cutoff: ${model.radius}
|
| 102 |
+
ln: true
|
| 103 |
+
ip: true
|
| 104 |
+
beta_scheduler:
|
| 105 |
+
_target_: diffcsp.pl_modules.diff_utils.BetaScheduler
|
| 106 |
+
timesteps: ${model.timesteps}
|
| 107 |
+
scheduler_mode: cosine
|
| 108 |
+
sigma_scheduler:
|
| 109 |
+
_target_: diffcsp.pl_modules.diff_utils.SigmaScheduler
|
| 110 |
+
timesteps: ${model.timesteps}
|
| 111 |
+
sigma_begin: 0.005
|
| 112 |
+
sigma_end: 0.5
|
| 113 |
+
_target_: diffcsp.pl_modules.diffusion_w_type.CSPDiffusion
|
| 114 |
+
time_dim: 256
|
| 115 |
+
latent_dim: 0
|
| 116 |
+
cost_coord: 1.0
|
| 117 |
+
cost_lattice: 1.0
|
| 118 |
+
cost_type: 20.0
|
| 119 |
+
max_neighbors: 20
|
| 120 |
+
radius: 7.0
|
| 121 |
+
timesteps: 1000
|
| 122 |
+
optim:
|
| 123 |
+
optimizer:
|
| 124 |
+
_target_: torch.optim.Adam
|
| 125 |
+
lr: 5.0e-05
|
| 126 |
+
betas:
|
| 127 |
+
- 0.9
|
| 128 |
+
- 0.999
|
| 129 |
+
eps: 1.0e-08
|
| 130 |
+
weight_decay: 0
|
| 131 |
+
use_lr_scheduler: true
|
| 132 |
+
lr_scheduler:
|
| 133 |
+
_target_: torch.optim.lr_scheduler.ReduceLROnPlateau
|
| 134 |
+
factor: 0.6
|
| 135 |
+
patience: 30
|
| 136 |
+
min_lr: 0.0001
|
| 137 |
+
train:
|
| 138 |
+
deterministic: true
|
| 139 |
+
random_seed: 42
|
| 140 |
+
pl_trainer:
|
| 141 |
+
fast_dev_run: false
|
| 142 |
+
gpus: 1
|
| 143 |
+
precision: 32
|
| 144 |
+
max_epochs: ${data.train_max_epochs}
|
| 145 |
+
accumulate_grad_batches: 1
|
| 146 |
+
num_sanity_val_steps: 2
|
| 147 |
+
gradient_clip_val: 0.5
|
| 148 |
+
gradient_clip_algorithm: value
|
| 149 |
+
profiler: simple
|
| 150 |
+
monitor_metric: val_loss
|
| 151 |
+
monitor_metric_mode: min
|
| 152 |
+
early_stopping:
|
| 153 |
+
patience: ${data.early_stopping_patience}
|
| 154 |
+
verbose: false
|
| 155 |
+
model_checkpoints:
|
| 156 |
+
save_top_k: 1
|
| 157 |
+
verbose: false
|
| 158 |
+
save_last: false
|
| 159 |
+
init_from_ckpt: /home/wkli/invDesMobility/04_models/01_diffcsp_generator/pretrained/PretrainGenerationModel.ckpt
|
| 160 |
+
init_strict: true
|
| 161 |
+
expname: mobility2d_highquality280_ft_v1
|
| 162 |
+
core:
|
| 163 |
+
version: 0.0.1
|
| 164 |
+
tags:
|
| 165 |
+
- ${now:%Y-%m-%d}
|
finetuned/generator_round_02/lattice_scaler.pt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:abc0a6d857830388d2bbbb0f3fde70115f53ba65f2fba6e662443d2b1515f1f4
|
| 3 |
+
size 1063
|
finetuned/generator_round_02/prop_scaler.pt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:c408545b8f7beb849444765ff8e4737ed23b65a0f91a52e1a50997aa8efef40f
|
| 3 |
+
size 1063
|
finetuned/generator_round_03/best.ckpt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:e4462ae8a8722271bd50224aedfdbd1df8d296eee3433bcb5367f0b2fb45121f
|
| 3 |
+
size 148276301
|
finetuned/generator_round_03/hparams.yaml
ADDED
|
@@ -0,0 +1,165 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
data:
|
| 2 |
+
root_path: /home/wkli/invDesMobility/01_code/InvDesFlow/data/mobility2d_feedback_round_03
|
| 3 |
+
prop: formation_energy_per_atom
|
| 4 |
+
num_targets: 1
|
| 5 |
+
niggli: true
|
| 6 |
+
primitive: false
|
| 7 |
+
graph_method: crystalnn
|
| 8 |
+
lattice_scale_method: scale_length
|
| 9 |
+
preprocess_workers: 8
|
| 10 |
+
readout: mean
|
| 11 |
+
max_atoms: 36
|
| 12 |
+
otf_graph: false
|
| 13 |
+
eval_model_name: mp20
|
| 14 |
+
tolerance: 0.1
|
| 15 |
+
use_space_group: false
|
| 16 |
+
use_pos_index: false
|
| 17 |
+
train_max_epochs: 1000
|
| 18 |
+
early_stopping_patience: 100000
|
| 19 |
+
teacher_forcing_max_epoch: 500
|
| 20 |
+
datamodule:
|
| 21 |
+
_target_: diffcsp.pl_data.datamodule.CrystDataModule
|
| 22 |
+
datasets:
|
| 23 |
+
train:
|
| 24 |
+
_target_: diffcsp.pl_data.dataset.CrystDataset
|
| 25 |
+
name: Formation energy train
|
| 26 |
+
path: ${data.root_path}/train.csv
|
| 27 |
+
save_path: ${data.root_path}/train_ori.pt
|
| 28 |
+
prop: ${data.prop}
|
| 29 |
+
niggli: ${data.niggli}
|
| 30 |
+
primitive: ${data.primitive}
|
| 31 |
+
graph_method: ${data.graph_method}
|
| 32 |
+
tolerance: ${data.tolerance}
|
| 33 |
+
use_space_group: ${data.use_space_group}
|
| 34 |
+
use_pos_index: ${data.use_pos_index}
|
| 35 |
+
lattice_scale_method: ${data.lattice_scale_method}
|
| 36 |
+
preprocess_workers: ${data.preprocess_workers}
|
| 37 |
+
val:
|
| 38 |
+
- _target_: diffcsp.pl_data.dataset.CrystDataset
|
| 39 |
+
name: Formation energy val
|
| 40 |
+
path: ${data.root_path}/val.csv
|
| 41 |
+
save_path: ${data.root_path}/val_ori.pt
|
| 42 |
+
prop: ${data.prop}
|
| 43 |
+
niggli: ${data.niggli}
|
| 44 |
+
primitive: ${data.primitive}
|
| 45 |
+
graph_method: ${data.graph_method}
|
| 46 |
+
tolerance: ${data.tolerance}
|
| 47 |
+
use_space_group: ${data.use_space_group}
|
| 48 |
+
use_pos_index: ${data.use_pos_index}
|
| 49 |
+
lattice_scale_method: ${data.lattice_scale_method}
|
| 50 |
+
preprocess_workers: ${data.preprocess_workers}
|
| 51 |
+
test:
|
| 52 |
+
- _target_: diffcsp.pl_data.dataset.CrystDataset
|
| 53 |
+
name: Formation energy test
|
| 54 |
+
path: ${data.root_path}/test.csv
|
| 55 |
+
save_path: ${data.root_path}/test_ori.pt
|
| 56 |
+
prop: ${data.prop}
|
| 57 |
+
niggli: ${data.niggli}
|
| 58 |
+
primitive: ${data.primitive}
|
| 59 |
+
graph_method: ${data.graph_method}
|
| 60 |
+
tolerance: ${data.tolerance}
|
| 61 |
+
use_space_group: ${data.use_space_group}
|
| 62 |
+
use_pos_index: ${data.use_pos_index}
|
| 63 |
+
lattice_scale_method: ${data.lattice_scale_method}
|
| 64 |
+
preprocess_workers: ${data.preprocess_workers}
|
| 65 |
+
num_workers:
|
| 66 |
+
train: 0
|
| 67 |
+
val: 0
|
| 68 |
+
test: 0
|
| 69 |
+
batch_size:
|
| 70 |
+
train: 256
|
| 71 |
+
val: 128
|
| 72 |
+
test: 128
|
| 73 |
+
logging:
|
| 74 |
+
val_check_interval: 5
|
| 75 |
+
progress_bar_refresh_rate: 1
|
| 76 |
+
wandb:
|
| 77 |
+
name: ${expname}
|
| 78 |
+
project: diffcsp
|
| 79 |
+
entity: null
|
| 80 |
+
log_model: true
|
| 81 |
+
mode: offline
|
| 82 |
+
group: ${expname}
|
| 83 |
+
wandb_watch:
|
| 84 |
+
log: all
|
| 85 |
+
log_freq: 500
|
| 86 |
+
lr_monitor:
|
| 87 |
+
logging_interval: step
|
| 88 |
+
log_momentum: false
|
| 89 |
+
model:
|
| 90 |
+
decoder:
|
| 91 |
+
_target_: diffcsp.pl_modules.cspnet.CSPNet
|
| 92 |
+
hidden_dim: 512
|
| 93 |
+
latent_dim: 0
|
| 94 |
+
max_atoms: 100
|
| 95 |
+
num_layers: 6
|
| 96 |
+
act_fn: silu
|
| 97 |
+
dis_emb: sin
|
| 98 |
+
num_freqs: 128
|
| 99 |
+
edge_style: fc
|
| 100 |
+
max_neighbors: ${model.max_neighbors}
|
| 101 |
+
cutoff: ${model.radius}
|
| 102 |
+
ln: true
|
| 103 |
+
ip: true
|
| 104 |
+
beta_scheduler:
|
| 105 |
+
_target_: diffcsp.pl_modules.diff_utils.BetaScheduler
|
| 106 |
+
timesteps: ${model.timesteps}
|
| 107 |
+
scheduler_mode: cosine
|
| 108 |
+
sigma_scheduler:
|
| 109 |
+
_target_: diffcsp.pl_modules.diff_utils.SigmaScheduler
|
| 110 |
+
timesteps: ${model.timesteps}
|
| 111 |
+
sigma_begin: 0.005
|
| 112 |
+
sigma_end: 0.5
|
| 113 |
+
_target_: diffcsp.pl_modules.diffusion_w_type.CSPDiffusion
|
| 114 |
+
time_dim: 256
|
| 115 |
+
latent_dim: 0
|
| 116 |
+
cost_coord: 1.0
|
| 117 |
+
cost_lattice: 1.0
|
| 118 |
+
cost_type: 20.0
|
| 119 |
+
max_neighbors: 20
|
| 120 |
+
radius: 7.0
|
| 121 |
+
timesteps: 1000
|
| 122 |
+
optim:
|
| 123 |
+
optimizer:
|
| 124 |
+
_target_: torch.optim.Adam
|
| 125 |
+
lr: 5.0e-05
|
| 126 |
+
betas:
|
| 127 |
+
- 0.9
|
| 128 |
+
- 0.999
|
| 129 |
+
eps: 1.0e-08
|
| 130 |
+
weight_decay: 0
|
| 131 |
+
use_lr_scheduler: true
|
| 132 |
+
lr_scheduler:
|
| 133 |
+
_target_: torch.optim.lr_scheduler.ReduceLROnPlateau
|
| 134 |
+
factor: 0.6
|
| 135 |
+
patience: 30
|
| 136 |
+
min_lr: 0.0001
|
| 137 |
+
train:
|
| 138 |
+
deterministic: true
|
| 139 |
+
random_seed: 42
|
| 140 |
+
pl_trainer:
|
| 141 |
+
fast_dev_run: false
|
| 142 |
+
gpus: 1
|
| 143 |
+
precision: 32
|
| 144 |
+
max_epochs: ${data.train_max_epochs}
|
| 145 |
+
accumulate_grad_batches: 1
|
| 146 |
+
num_sanity_val_steps: 2
|
| 147 |
+
gradient_clip_val: 0.5
|
| 148 |
+
gradient_clip_algorithm: value
|
| 149 |
+
profiler: simple
|
| 150 |
+
monitor_metric: val_loss
|
| 151 |
+
monitor_metric_mode: min
|
| 152 |
+
early_stopping:
|
| 153 |
+
patience: ${data.early_stopping_patience}
|
| 154 |
+
verbose: false
|
| 155 |
+
model_checkpoints:
|
| 156 |
+
save_top_k: 1
|
| 157 |
+
verbose: false
|
| 158 |
+
save_last: false
|
| 159 |
+
init_from_ckpt: /home/wkli/invDesMobility/04_models/01_diffcsp_generator/pretrained/PretrainGenerationModel.ckpt
|
| 160 |
+
init_strict: true
|
| 161 |
+
expname: mobility2d_highquality280_ft_v1
|
| 162 |
+
core:
|
| 163 |
+
version: 0.0.1
|
| 164 |
+
tags:
|
| 165 |
+
- ${now:%Y-%m-%d}
|
finetuned/generator_round_03/lattice_scaler.pt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:abc0a6d857830388d2bbbb0f3fde70115f53ba65f2fba6e662443d2b1515f1f4
|
| 3 |
+
size 1063
|
finetuned/generator_round_03/prop_scaler.pt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:c408545b8f7beb849444765ff8e4737ed23b65a0f91a52e1a50997aa8efef40f
|
| 3 |
+
size 1063
|
finetuned/generator_round_04/best.ckpt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:ae70bfb16fa5615cd08d7dae88b52139987b8eb4bf6574fdc4d2e63764ad52d4
|
| 3 |
+
size 148276301
|
finetuned/generator_round_04/hparams.yaml
ADDED
|
@@ -0,0 +1,165 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
data:
|
| 2 |
+
root_path: /home/wkli/invDesMobility/01_code/InvDesFlow/data/mobility2d_feedback_round_04
|
| 3 |
+
prop: formation_energy_per_atom
|
| 4 |
+
num_targets: 1
|
| 5 |
+
niggli: true
|
| 6 |
+
primitive: false
|
| 7 |
+
graph_method: crystalnn
|
| 8 |
+
lattice_scale_method: scale_length
|
| 9 |
+
preprocess_workers: 8
|
| 10 |
+
readout: mean
|
| 11 |
+
max_atoms: 36
|
| 12 |
+
otf_graph: false
|
| 13 |
+
eval_model_name: mp20
|
| 14 |
+
tolerance: 0.1
|
| 15 |
+
use_space_group: false
|
| 16 |
+
use_pos_index: false
|
| 17 |
+
train_max_epochs: 1000
|
| 18 |
+
early_stopping_patience: 100000
|
| 19 |
+
teacher_forcing_max_epoch: 500
|
| 20 |
+
datamodule:
|
| 21 |
+
_target_: diffcsp.pl_data.datamodule.CrystDataModule
|
| 22 |
+
datasets:
|
| 23 |
+
train:
|
| 24 |
+
_target_: diffcsp.pl_data.dataset.CrystDataset
|
| 25 |
+
name: Formation energy train
|
| 26 |
+
path: ${data.root_path}/train.csv
|
| 27 |
+
save_path: ${data.root_path}/train_ori.pt
|
| 28 |
+
prop: ${data.prop}
|
| 29 |
+
niggli: ${data.niggli}
|
| 30 |
+
primitive: ${data.primitive}
|
| 31 |
+
graph_method: ${data.graph_method}
|
| 32 |
+
tolerance: ${data.tolerance}
|
| 33 |
+
use_space_group: ${data.use_space_group}
|
| 34 |
+
use_pos_index: ${data.use_pos_index}
|
| 35 |
+
lattice_scale_method: ${data.lattice_scale_method}
|
| 36 |
+
preprocess_workers: ${data.preprocess_workers}
|
| 37 |
+
val:
|
| 38 |
+
- _target_: diffcsp.pl_data.dataset.CrystDataset
|
| 39 |
+
name: Formation energy val
|
| 40 |
+
path: ${data.root_path}/val.csv
|
| 41 |
+
save_path: ${data.root_path}/val_ori.pt
|
| 42 |
+
prop: ${data.prop}
|
| 43 |
+
niggli: ${data.niggli}
|
| 44 |
+
primitive: ${data.primitive}
|
| 45 |
+
graph_method: ${data.graph_method}
|
| 46 |
+
tolerance: ${data.tolerance}
|
| 47 |
+
use_space_group: ${data.use_space_group}
|
| 48 |
+
use_pos_index: ${data.use_pos_index}
|
| 49 |
+
lattice_scale_method: ${data.lattice_scale_method}
|
| 50 |
+
preprocess_workers: ${data.preprocess_workers}
|
| 51 |
+
test:
|
| 52 |
+
- _target_: diffcsp.pl_data.dataset.CrystDataset
|
| 53 |
+
name: Formation energy test
|
| 54 |
+
path: ${data.root_path}/test.csv
|
| 55 |
+
save_path: ${data.root_path}/test_ori.pt
|
| 56 |
+
prop: ${data.prop}
|
| 57 |
+
niggli: ${data.niggli}
|
| 58 |
+
primitive: ${data.primitive}
|
| 59 |
+
graph_method: ${data.graph_method}
|
| 60 |
+
tolerance: ${data.tolerance}
|
| 61 |
+
use_space_group: ${data.use_space_group}
|
| 62 |
+
use_pos_index: ${data.use_pos_index}
|
| 63 |
+
lattice_scale_method: ${data.lattice_scale_method}
|
| 64 |
+
preprocess_workers: ${data.preprocess_workers}
|
| 65 |
+
num_workers:
|
| 66 |
+
train: 0
|
| 67 |
+
val: 0
|
| 68 |
+
test: 0
|
| 69 |
+
batch_size:
|
| 70 |
+
train: 256
|
| 71 |
+
val: 128
|
| 72 |
+
test: 128
|
| 73 |
+
logging:
|
| 74 |
+
val_check_interval: 5
|
| 75 |
+
progress_bar_refresh_rate: 1
|
| 76 |
+
wandb:
|
| 77 |
+
name: ${expname}
|
| 78 |
+
project: diffcsp
|
| 79 |
+
entity: null
|
| 80 |
+
log_model: true
|
| 81 |
+
mode: offline
|
| 82 |
+
group: ${expname}
|
| 83 |
+
wandb_watch:
|
| 84 |
+
log: all
|
| 85 |
+
log_freq: 500
|
| 86 |
+
lr_monitor:
|
| 87 |
+
logging_interval: step
|
| 88 |
+
log_momentum: false
|
| 89 |
+
model:
|
| 90 |
+
decoder:
|
| 91 |
+
_target_: diffcsp.pl_modules.cspnet.CSPNet
|
| 92 |
+
hidden_dim: 512
|
| 93 |
+
latent_dim: 0
|
| 94 |
+
max_atoms: 100
|
| 95 |
+
num_layers: 6
|
| 96 |
+
act_fn: silu
|
| 97 |
+
dis_emb: sin
|
| 98 |
+
num_freqs: 128
|
| 99 |
+
edge_style: fc
|
| 100 |
+
max_neighbors: ${model.max_neighbors}
|
| 101 |
+
cutoff: ${model.radius}
|
| 102 |
+
ln: true
|
| 103 |
+
ip: true
|
| 104 |
+
beta_scheduler:
|
| 105 |
+
_target_: diffcsp.pl_modules.diff_utils.BetaScheduler
|
| 106 |
+
timesteps: ${model.timesteps}
|
| 107 |
+
scheduler_mode: cosine
|
| 108 |
+
sigma_scheduler:
|
| 109 |
+
_target_: diffcsp.pl_modules.diff_utils.SigmaScheduler
|
| 110 |
+
timesteps: ${model.timesteps}
|
| 111 |
+
sigma_begin: 0.005
|
| 112 |
+
sigma_end: 0.5
|
| 113 |
+
_target_: diffcsp.pl_modules.diffusion_w_type.CSPDiffusion
|
| 114 |
+
time_dim: 256
|
| 115 |
+
latent_dim: 0
|
| 116 |
+
cost_coord: 1.0
|
| 117 |
+
cost_lattice: 1.0
|
| 118 |
+
cost_type: 20.0
|
| 119 |
+
max_neighbors: 20
|
| 120 |
+
radius: 7.0
|
| 121 |
+
timesteps: 1000
|
| 122 |
+
optim:
|
| 123 |
+
optimizer:
|
| 124 |
+
_target_: torch.optim.Adam
|
| 125 |
+
lr: 5.0e-05
|
| 126 |
+
betas:
|
| 127 |
+
- 0.9
|
| 128 |
+
- 0.999
|
| 129 |
+
eps: 1.0e-08
|
| 130 |
+
weight_decay: 0
|
| 131 |
+
use_lr_scheduler: true
|
| 132 |
+
lr_scheduler:
|
| 133 |
+
_target_: torch.optim.lr_scheduler.ReduceLROnPlateau
|
| 134 |
+
factor: 0.6
|
| 135 |
+
patience: 30
|
| 136 |
+
min_lr: 0.0001
|
| 137 |
+
train:
|
| 138 |
+
deterministic: true
|
| 139 |
+
random_seed: 42
|
| 140 |
+
pl_trainer:
|
| 141 |
+
fast_dev_run: false
|
| 142 |
+
gpus: 1
|
| 143 |
+
precision: 32
|
| 144 |
+
max_epochs: ${data.train_max_epochs}
|
| 145 |
+
accumulate_grad_batches: 1
|
| 146 |
+
num_sanity_val_steps: 2
|
| 147 |
+
gradient_clip_val: 0.5
|
| 148 |
+
gradient_clip_algorithm: value
|
| 149 |
+
profiler: simple
|
| 150 |
+
monitor_metric: val_loss
|
| 151 |
+
monitor_metric_mode: min
|
| 152 |
+
early_stopping:
|
| 153 |
+
patience: ${data.early_stopping_patience}
|
| 154 |
+
verbose: false
|
| 155 |
+
model_checkpoints:
|
| 156 |
+
save_top_k: 1
|
| 157 |
+
verbose: false
|
| 158 |
+
save_last: false
|
| 159 |
+
init_from_ckpt: /home/wkli/invDesMobility/04_models/01_diffcsp_generator/pretrained/PretrainGenerationModel.ckpt
|
| 160 |
+
init_strict: true
|
| 161 |
+
expname: mobility2d_highquality280_ft_v1
|
| 162 |
+
core:
|
| 163 |
+
version: 0.0.1
|
| 164 |
+
tags:
|
| 165 |
+
- ${now:%Y-%m-%d}
|
finetuned/generator_round_04/lattice_scaler.pt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:4deda277f0d3d3b4be45efab198f2a7c227958c55de69c88b6190d5ccf036771
|
| 3 |
+
size 1063
|
finetuned/generator_round_04/prop_scaler.pt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:c408545b8f7beb849444765ff8e4737ed23b65a0f91a52e1a50997aa8efef40f
|
| 3 |
+
size 1063
|
finetuned/generator_round_06/best.ckpt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:23e6e40a7c5c9b96d3dc95bf098e148ec67affc9e20202a962fe63498634c56f
|
| 3 |
+
size 148276301
|
finetuned/generator_round_06/hparams.yaml
ADDED
|
@@ -0,0 +1,165 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
data:
|
| 2 |
+
root_path: /home/wkli/invDesMobility/01_code/InvDesFlow/data/mobility2d_feedback_round_06
|
| 3 |
+
prop: formation_energy_per_atom
|
| 4 |
+
num_targets: 1
|
| 5 |
+
niggli: true
|
| 6 |
+
primitive: false
|
| 7 |
+
graph_method: crystalnn
|
| 8 |
+
lattice_scale_method: scale_length
|
| 9 |
+
preprocess_workers: 8
|
| 10 |
+
readout: mean
|
| 11 |
+
max_atoms: 36
|
| 12 |
+
otf_graph: false
|
| 13 |
+
eval_model_name: mp20
|
| 14 |
+
tolerance: 0.1
|
| 15 |
+
use_space_group: false
|
| 16 |
+
use_pos_index: false
|
| 17 |
+
train_max_epochs: 1000
|
| 18 |
+
early_stopping_patience: 100000
|
| 19 |
+
teacher_forcing_max_epoch: 500
|
| 20 |
+
datamodule:
|
| 21 |
+
_target_: diffcsp.pl_data.datamodule.CrystDataModule
|
| 22 |
+
datasets:
|
| 23 |
+
train:
|
| 24 |
+
_target_: diffcsp.pl_data.dataset.CrystDataset
|
| 25 |
+
name: Formation energy train
|
| 26 |
+
path: ${data.root_path}/train.csv
|
| 27 |
+
save_path: ${data.root_path}/train_ori.pt
|
| 28 |
+
prop: ${data.prop}
|
| 29 |
+
niggli: ${data.niggli}
|
| 30 |
+
primitive: ${data.primitive}
|
| 31 |
+
graph_method: ${data.graph_method}
|
| 32 |
+
tolerance: ${data.tolerance}
|
| 33 |
+
use_space_group: ${data.use_space_group}
|
| 34 |
+
use_pos_index: ${data.use_pos_index}
|
| 35 |
+
lattice_scale_method: ${data.lattice_scale_method}
|
| 36 |
+
preprocess_workers: ${data.preprocess_workers}
|
| 37 |
+
val:
|
| 38 |
+
- _target_: diffcsp.pl_data.dataset.CrystDataset
|
| 39 |
+
name: Formation energy val
|
| 40 |
+
path: ${data.root_path}/val.csv
|
| 41 |
+
save_path: ${data.root_path}/val_ori.pt
|
| 42 |
+
prop: ${data.prop}
|
| 43 |
+
niggli: ${data.niggli}
|
| 44 |
+
primitive: ${data.primitive}
|
| 45 |
+
graph_method: ${data.graph_method}
|
| 46 |
+
tolerance: ${data.tolerance}
|
| 47 |
+
use_space_group: ${data.use_space_group}
|
| 48 |
+
use_pos_index: ${data.use_pos_index}
|
| 49 |
+
lattice_scale_method: ${data.lattice_scale_method}
|
| 50 |
+
preprocess_workers: ${data.preprocess_workers}
|
| 51 |
+
test:
|
| 52 |
+
- _target_: diffcsp.pl_data.dataset.CrystDataset
|
| 53 |
+
name: Formation energy test
|
| 54 |
+
path: ${data.root_path}/test.csv
|
| 55 |
+
save_path: ${data.root_path}/test_ori.pt
|
| 56 |
+
prop: ${data.prop}
|
| 57 |
+
niggli: ${data.niggli}
|
| 58 |
+
primitive: ${data.primitive}
|
| 59 |
+
graph_method: ${data.graph_method}
|
| 60 |
+
tolerance: ${data.tolerance}
|
| 61 |
+
use_space_group: ${data.use_space_group}
|
| 62 |
+
use_pos_index: ${data.use_pos_index}
|
| 63 |
+
lattice_scale_method: ${data.lattice_scale_method}
|
| 64 |
+
preprocess_workers: ${data.preprocess_workers}
|
| 65 |
+
num_workers:
|
| 66 |
+
train: 0
|
| 67 |
+
val: 0
|
| 68 |
+
test: 0
|
| 69 |
+
batch_size:
|
| 70 |
+
train: 256
|
| 71 |
+
val: 128
|
| 72 |
+
test: 128
|
| 73 |
+
logging:
|
| 74 |
+
val_check_interval: 5
|
| 75 |
+
progress_bar_refresh_rate: 1
|
| 76 |
+
wandb:
|
| 77 |
+
name: ${expname}
|
| 78 |
+
project: diffcsp
|
| 79 |
+
entity: null
|
| 80 |
+
log_model: true
|
| 81 |
+
mode: offline
|
| 82 |
+
group: ${expname}
|
| 83 |
+
wandb_watch:
|
| 84 |
+
log: all
|
| 85 |
+
log_freq: 500
|
| 86 |
+
lr_monitor:
|
| 87 |
+
logging_interval: step
|
| 88 |
+
log_momentum: false
|
| 89 |
+
model:
|
| 90 |
+
decoder:
|
| 91 |
+
_target_: diffcsp.pl_modules.cspnet.CSPNet
|
| 92 |
+
hidden_dim: 512
|
| 93 |
+
latent_dim: 0
|
| 94 |
+
max_atoms: 100
|
| 95 |
+
num_layers: 6
|
| 96 |
+
act_fn: silu
|
| 97 |
+
dis_emb: sin
|
| 98 |
+
num_freqs: 128
|
| 99 |
+
edge_style: fc
|
| 100 |
+
max_neighbors: ${model.max_neighbors}
|
| 101 |
+
cutoff: ${model.radius}
|
| 102 |
+
ln: true
|
| 103 |
+
ip: true
|
| 104 |
+
beta_scheduler:
|
| 105 |
+
_target_: diffcsp.pl_modules.diff_utils.BetaScheduler
|
| 106 |
+
timesteps: ${model.timesteps}
|
| 107 |
+
scheduler_mode: cosine
|
| 108 |
+
sigma_scheduler:
|
| 109 |
+
_target_: diffcsp.pl_modules.diff_utils.SigmaScheduler
|
| 110 |
+
timesteps: ${model.timesteps}
|
| 111 |
+
sigma_begin: 0.005
|
| 112 |
+
sigma_end: 0.5
|
| 113 |
+
_target_: diffcsp.pl_modules.diffusion_w_type.CSPDiffusion
|
| 114 |
+
time_dim: 256
|
| 115 |
+
latent_dim: 0
|
| 116 |
+
cost_coord: 1.0
|
| 117 |
+
cost_lattice: 1.0
|
| 118 |
+
cost_type: 20.0
|
| 119 |
+
max_neighbors: 20
|
| 120 |
+
radius: 7.0
|
| 121 |
+
timesteps: 1000
|
| 122 |
+
optim:
|
| 123 |
+
optimizer:
|
| 124 |
+
_target_: torch.optim.Adam
|
| 125 |
+
lr: 5.0e-05
|
| 126 |
+
betas:
|
| 127 |
+
- 0.9
|
| 128 |
+
- 0.999
|
| 129 |
+
eps: 1.0e-08
|
| 130 |
+
weight_decay: 0
|
| 131 |
+
use_lr_scheduler: true
|
| 132 |
+
lr_scheduler:
|
| 133 |
+
_target_: torch.optim.lr_scheduler.ReduceLROnPlateau
|
| 134 |
+
factor: 0.6
|
| 135 |
+
patience: 30
|
| 136 |
+
min_lr: 0.0001
|
| 137 |
+
train:
|
| 138 |
+
deterministic: true
|
| 139 |
+
random_seed: 42
|
| 140 |
+
pl_trainer:
|
| 141 |
+
fast_dev_run: false
|
| 142 |
+
gpus: 1
|
| 143 |
+
precision: 32
|
| 144 |
+
max_epochs: ${data.train_max_epochs}
|
| 145 |
+
accumulate_grad_batches: 1
|
| 146 |
+
num_sanity_val_steps: 2
|
| 147 |
+
gradient_clip_val: 0.5
|
| 148 |
+
gradient_clip_algorithm: value
|
| 149 |
+
profiler: simple
|
| 150 |
+
monitor_metric: val_loss
|
| 151 |
+
monitor_metric_mode: min
|
| 152 |
+
early_stopping:
|
| 153 |
+
patience: ${data.early_stopping_patience}
|
| 154 |
+
verbose: false
|
| 155 |
+
model_checkpoints:
|
| 156 |
+
save_top_k: 1
|
| 157 |
+
verbose: false
|
| 158 |
+
save_last: false
|
| 159 |
+
init_from_ckpt: /home/wkli/invDesMobility/04_models/01_diffcsp_generator/pretrained/PretrainGenerationModel.ckpt
|
| 160 |
+
init_strict: true
|
| 161 |
+
expname: mobility2d_highquality280_ft_v1
|
| 162 |
+
core:
|
| 163 |
+
version: 0.0.1
|
| 164 |
+
tags:
|
| 165 |
+
- ${now:%Y-%m-%d}
|
finetuned/generator_round_06/lattice_scaler.pt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:6ba00c79fdfdc33f01d3a93e550d89ac188315367663191d7814cbdfe7440796
|
| 3 |
+
size 1063
|
finetuned/generator_round_06/prop_scaler.pt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:c408545b8f7beb849444765ff8e4737ed23b65a0f91a52e1a50997aa8efef40f
|
| 3 |
+
size 1063
|
finetuned/generator_round_07/best.ckpt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:b4ab3b03db46ad931ce508f0320af51f8ee87ba293c131133ac940363d0865ee
|
| 3 |
+
size 148276301
|
finetuned/generator_round_07/hparams.yaml
ADDED
|
@@ -0,0 +1,165 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
data:
|
| 2 |
+
root_path: /home/wkli/invDesMobility/01_code/InvDesFlow/data/mobility2d_feedback_round_07
|
| 3 |
+
prop: formation_energy_per_atom
|
| 4 |
+
num_targets: 1
|
| 5 |
+
niggli: true
|
| 6 |
+
primitive: false
|
| 7 |
+
graph_method: crystalnn
|
| 8 |
+
lattice_scale_method: scale_length
|
| 9 |
+
preprocess_workers: 8
|
| 10 |
+
readout: mean
|
| 11 |
+
max_atoms: 36
|
| 12 |
+
otf_graph: false
|
| 13 |
+
eval_model_name: mp20
|
| 14 |
+
tolerance: 0.1
|
| 15 |
+
use_space_group: false
|
| 16 |
+
use_pos_index: false
|
| 17 |
+
train_max_epochs: 1000
|
| 18 |
+
early_stopping_patience: 100000
|
| 19 |
+
teacher_forcing_max_epoch: 500
|
| 20 |
+
datamodule:
|
| 21 |
+
_target_: diffcsp.pl_data.datamodule.CrystDataModule
|
| 22 |
+
datasets:
|
| 23 |
+
train:
|
| 24 |
+
_target_: diffcsp.pl_data.dataset.CrystDataset
|
| 25 |
+
name: Formation energy train
|
| 26 |
+
path: ${data.root_path}/train.csv
|
| 27 |
+
save_path: ${data.root_path}/train_ori.pt
|
| 28 |
+
prop: ${data.prop}
|
| 29 |
+
niggli: ${data.niggli}
|
| 30 |
+
primitive: ${data.primitive}
|
| 31 |
+
graph_method: ${data.graph_method}
|
| 32 |
+
tolerance: ${data.tolerance}
|
| 33 |
+
use_space_group: ${data.use_space_group}
|
| 34 |
+
use_pos_index: ${data.use_pos_index}
|
| 35 |
+
lattice_scale_method: ${data.lattice_scale_method}
|
| 36 |
+
preprocess_workers: ${data.preprocess_workers}
|
| 37 |
+
val:
|
| 38 |
+
- _target_: diffcsp.pl_data.dataset.CrystDataset
|
| 39 |
+
name: Formation energy val
|
| 40 |
+
path: ${data.root_path}/val.csv
|
| 41 |
+
save_path: ${data.root_path}/val_ori.pt
|
| 42 |
+
prop: ${data.prop}
|
| 43 |
+
niggli: ${data.niggli}
|
| 44 |
+
primitive: ${data.primitive}
|
| 45 |
+
graph_method: ${data.graph_method}
|
| 46 |
+
tolerance: ${data.tolerance}
|
| 47 |
+
use_space_group: ${data.use_space_group}
|
| 48 |
+
use_pos_index: ${data.use_pos_index}
|
| 49 |
+
lattice_scale_method: ${data.lattice_scale_method}
|
| 50 |
+
preprocess_workers: ${data.preprocess_workers}
|
| 51 |
+
test:
|
| 52 |
+
- _target_: diffcsp.pl_data.dataset.CrystDataset
|
| 53 |
+
name: Formation energy test
|
| 54 |
+
path: ${data.root_path}/test.csv
|
| 55 |
+
save_path: ${data.root_path}/test_ori.pt
|
| 56 |
+
prop: ${data.prop}
|
| 57 |
+
niggli: ${data.niggli}
|
| 58 |
+
primitive: ${data.primitive}
|
| 59 |
+
graph_method: ${data.graph_method}
|
| 60 |
+
tolerance: ${data.tolerance}
|
| 61 |
+
use_space_group: ${data.use_space_group}
|
| 62 |
+
use_pos_index: ${data.use_pos_index}
|
| 63 |
+
lattice_scale_method: ${data.lattice_scale_method}
|
| 64 |
+
preprocess_workers: ${data.preprocess_workers}
|
| 65 |
+
num_workers:
|
| 66 |
+
train: 0
|
| 67 |
+
val: 0
|
| 68 |
+
test: 0
|
| 69 |
+
batch_size:
|
| 70 |
+
train: 256
|
| 71 |
+
val: 128
|
| 72 |
+
test: 128
|
| 73 |
+
logging:
|
| 74 |
+
val_check_interval: 5
|
| 75 |
+
progress_bar_refresh_rate: 1
|
| 76 |
+
wandb:
|
| 77 |
+
name: ${expname}
|
| 78 |
+
project: diffcsp
|
| 79 |
+
entity: null
|
| 80 |
+
log_model: true
|
| 81 |
+
mode: offline
|
| 82 |
+
group: ${expname}
|
| 83 |
+
wandb_watch:
|
| 84 |
+
log: all
|
| 85 |
+
log_freq: 500
|
| 86 |
+
lr_monitor:
|
| 87 |
+
logging_interval: step
|
| 88 |
+
log_momentum: false
|
| 89 |
+
model:
|
| 90 |
+
decoder:
|
| 91 |
+
_target_: diffcsp.pl_modules.cspnet.CSPNet
|
| 92 |
+
hidden_dim: 512
|
| 93 |
+
latent_dim: 0
|
| 94 |
+
max_atoms: 100
|
| 95 |
+
num_layers: 6
|
| 96 |
+
act_fn: silu
|
| 97 |
+
dis_emb: sin
|
| 98 |
+
num_freqs: 128
|
| 99 |
+
edge_style: fc
|
| 100 |
+
max_neighbors: ${model.max_neighbors}
|
| 101 |
+
cutoff: ${model.radius}
|
| 102 |
+
ln: true
|
| 103 |
+
ip: true
|
| 104 |
+
beta_scheduler:
|
| 105 |
+
_target_: diffcsp.pl_modules.diff_utils.BetaScheduler
|
| 106 |
+
timesteps: ${model.timesteps}
|
| 107 |
+
scheduler_mode: cosine
|
| 108 |
+
sigma_scheduler:
|
| 109 |
+
_target_: diffcsp.pl_modules.diff_utils.SigmaScheduler
|
| 110 |
+
timesteps: ${model.timesteps}
|
| 111 |
+
sigma_begin: 0.005
|
| 112 |
+
sigma_end: 0.5
|
| 113 |
+
_target_: diffcsp.pl_modules.diffusion_w_type.CSPDiffusion
|
| 114 |
+
time_dim: 256
|
| 115 |
+
latent_dim: 0
|
| 116 |
+
cost_coord: 1.0
|
| 117 |
+
cost_lattice: 1.0
|
| 118 |
+
cost_type: 20.0
|
| 119 |
+
max_neighbors: 20
|
| 120 |
+
radius: 7.0
|
| 121 |
+
timesteps: 1000
|
| 122 |
+
optim:
|
| 123 |
+
optimizer:
|
| 124 |
+
_target_: torch.optim.Adam
|
| 125 |
+
lr: 5.0e-05
|
| 126 |
+
betas:
|
| 127 |
+
- 0.9
|
| 128 |
+
- 0.999
|
| 129 |
+
eps: 1.0e-08
|
| 130 |
+
weight_decay: 0
|
| 131 |
+
use_lr_scheduler: true
|
| 132 |
+
lr_scheduler:
|
| 133 |
+
_target_: torch.optim.lr_scheduler.ReduceLROnPlateau
|
| 134 |
+
factor: 0.6
|
| 135 |
+
patience: 30
|
| 136 |
+
min_lr: 0.0001
|
| 137 |
+
train:
|
| 138 |
+
deterministic: true
|
| 139 |
+
random_seed: 42
|
| 140 |
+
pl_trainer:
|
| 141 |
+
fast_dev_run: false
|
| 142 |
+
gpus: 1
|
| 143 |
+
precision: 32
|
| 144 |
+
max_epochs: ${data.train_max_epochs}
|
| 145 |
+
accumulate_grad_batches: 1
|
| 146 |
+
num_sanity_val_steps: 2
|
| 147 |
+
gradient_clip_val: 0.5
|
| 148 |
+
gradient_clip_algorithm: value
|
| 149 |
+
profiler: simple
|
| 150 |
+
monitor_metric: val_loss
|
| 151 |
+
monitor_metric_mode: min
|
| 152 |
+
early_stopping:
|
| 153 |
+
patience: ${data.early_stopping_patience}
|
| 154 |
+
verbose: false
|
| 155 |
+
model_checkpoints:
|
| 156 |
+
save_top_k: 1
|
| 157 |
+
verbose: false
|
| 158 |
+
save_last: false
|
| 159 |
+
init_from_ckpt: /home/wkli/invDesMobility/04_models/01_diffcsp_generator/pretrained/PretrainGenerationModel.ckpt
|
| 160 |
+
init_strict: true
|
| 161 |
+
expname: mobility2d_highquality280_ft_v1
|
| 162 |
+
core:
|
| 163 |
+
version: 0.0.1
|
| 164 |
+
tags:
|
| 165 |
+
- ${now:%Y-%m-%d}
|
finetuned/generator_round_07/lattice_scaler.pt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:d15fe8bfb7cad44f0054b1f6fa6ab8f4d055926a561d2555439b28cbde878fb6
|
| 3 |
+
size 1063
|
finetuned/generator_round_07/prop_scaler.pt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:c408545b8f7beb849444765ff8e4737ed23b65a0f91a52e1a50997aa8efef40f
|
| 3 |
+
size 1063
|
finetuned/generator_round_08/best.ckpt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:1aa332eb84a8b113f40a8dea5ee211af2139ac4cd5fec8d3613a6fff4b4fdb18
|
| 3 |
+
size 148276301
|
finetuned/generator_round_08/hparams.yaml
ADDED
|
@@ -0,0 +1,165 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
data:
|
| 2 |
+
root_path: /home/wkli/invDesMobility/01_code/InvDesFlow/data/mobility2d_feedback_round_08
|
| 3 |
+
prop: formation_energy_per_atom
|
| 4 |
+
num_targets: 1
|
| 5 |
+
niggli: true
|
| 6 |
+
primitive: false
|
| 7 |
+
graph_method: crystalnn
|
| 8 |
+
lattice_scale_method: scale_length
|
| 9 |
+
preprocess_workers: 8
|
| 10 |
+
readout: mean
|
| 11 |
+
max_atoms: 36
|
| 12 |
+
otf_graph: false
|
| 13 |
+
eval_model_name: mp20
|
| 14 |
+
tolerance: 0.1
|
| 15 |
+
use_space_group: false
|
| 16 |
+
use_pos_index: false
|
| 17 |
+
train_max_epochs: 1000
|
| 18 |
+
early_stopping_patience: 100000
|
| 19 |
+
teacher_forcing_max_epoch: 500
|
| 20 |
+
datamodule:
|
| 21 |
+
_target_: diffcsp.pl_data.datamodule.CrystDataModule
|
| 22 |
+
datasets:
|
| 23 |
+
train:
|
| 24 |
+
_target_: diffcsp.pl_data.dataset.CrystDataset
|
| 25 |
+
name: Formation energy train
|
| 26 |
+
path: ${data.root_path}/train.csv
|
| 27 |
+
save_path: ${data.root_path}/train_ori.pt
|
| 28 |
+
prop: ${data.prop}
|
| 29 |
+
niggli: ${data.niggli}
|
| 30 |
+
primitive: ${data.primitive}
|
| 31 |
+
graph_method: ${data.graph_method}
|
| 32 |
+
tolerance: ${data.tolerance}
|
| 33 |
+
use_space_group: ${data.use_space_group}
|
| 34 |
+
use_pos_index: ${data.use_pos_index}
|
| 35 |
+
lattice_scale_method: ${data.lattice_scale_method}
|
| 36 |
+
preprocess_workers: ${data.preprocess_workers}
|
| 37 |
+
val:
|
| 38 |
+
- _target_: diffcsp.pl_data.dataset.CrystDataset
|
| 39 |
+
name: Formation energy val
|
| 40 |
+
path: ${data.root_path}/val.csv
|
| 41 |
+
save_path: ${data.root_path}/val_ori.pt
|
| 42 |
+
prop: ${data.prop}
|
| 43 |
+
niggli: ${data.niggli}
|
| 44 |
+
primitive: ${data.primitive}
|
| 45 |
+
graph_method: ${data.graph_method}
|
| 46 |
+
tolerance: ${data.tolerance}
|
| 47 |
+
use_space_group: ${data.use_space_group}
|
| 48 |
+
use_pos_index: ${data.use_pos_index}
|
| 49 |
+
lattice_scale_method: ${data.lattice_scale_method}
|
| 50 |
+
preprocess_workers: ${data.preprocess_workers}
|
| 51 |
+
test:
|
| 52 |
+
- _target_: diffcsp.pl_data.dataset.CrystDataset
|
| 53 |
+
name: Formation energy test
|
| 54 |
+
path: ${data.root_path}/test.csv
|
| 55 |
+
save_path: ${data.root_path}/test_ori.pt
|
| 56 |
+
prop: ${data.prop}
|
| 57 |
+
niggli: ${data.niggli}
|
| 58 |
+
primitive: ${data.primitive}
|
| 59 |
+
graph_method: ${data.graph_method}
|
| 60 |
+
tolerance: ${data.tolerance}
|
| 61 |
+
use_space_group: ${data.use_space_group}
|
| 62 |
+
use_pos_index: ${data.use_pos_index}
|
| 63 |
+
lattice_scale_method: ${data.lattice_scale_method}
|
| 64 |
+
preprocess_workers: ${data.preprocess_workers}
|
| 65 |
+
num_workers:
|
| 66 |
+
train: 0
|
| 67 |
+
val: 0
|
| 68 |
+
test: 0
|
| 69 |
+
batch_size:
|
| 70 |
+
train: 256
|
| 71 |
+
val: 128
|
| 72 |
+
test: 128
|
| 73 |
+
logging:
|
| 74 |
+
val_check_interval: 5
|
| 75 |
+
progress_bar_refresh_rate: 1
|
| 76 |
+
wandb:
|
| 77 |
+
name: ${expname}
|
| 78 |
+
project: diffcsp
|
| 79 |
+
entity: null
|
| 80 |
+
log_model: true
|
| 81 |
+
mode: offline
|
| 82 |
+
group: ${expname}
|
| 83 |
+
wandb_watch:
|
| 84 |
+
log: all
|
| 85 |
+
log_freq: 500
|
| 86 |
+
lr_monitor:
|
| 87 |
+
logging_interval: step
|
| 88 |
+
log_momentum: false
|
| 89 |
+
model:
|
| 90 |
+
decoder:
|
| 91 |
+
_target_: diffcsp.pl_modules.cspnet.CSPNet
|
| 92 |
+
hidden_dim: 512
|
| 93 |
+
latent_dim: 0
|
| 94 |
+
max_atoms: 100
|
| 95 |
+
num_layers: 6
|
| 96 |
+
act_fn: silu
|
| 97 |
+
dis_emb: sin
|
| 98 |
+
num_freqs: 128
|
| 99 |
+
edge_style: fc
|
| 100 |
+
max_neighbors: ${model.max_neighbors}
|
| 101 |
+
cutoff: ${model.radius}
|
| 102 |
+
ln: true
|
| 103 |
+
ip: true
|
| 104 |
+
beta_scheduler:
|
| 105 |
+
_target_: diffcsp.pl_modules.diff_utils.BetaScheduler
|
| 106 |
+
timesteps: ${model.timesteps}
|
| 107 |
+
scheduler_mode: cosine
|
| 108 |
+
sigma_scheduler:
|
| 109 |
+
_target_: diffcsp.pl_modules.diff_utils.SigmaScheduler
|
| 110 |
+
timesteps: ${model.timesteps}
|
| 111 |
+
sigma_begin: 0.005
|
| 112 |
+
sigma_end: 0.5
|
| 113 |
+
_target_: diffcsp.pl_modules.diffusion_w_type.CSPDiffusion
|
| 114 |
+
time_dim: 256
|
| 115 |
+
latent_dim: 0
|
| 116 |
+
cost_coord: 1.0
|
| 117 |
+
cost_lattice: 1.0
|
| 118 |
+
cost_type: 20.0
|
| 119 |
+
max_neighbors: 20
|
| 120 |
+
radius: 7.0
|
| 121 |
+
timesteps: 1000
|
| 122 |
+
optim:
|
| 123 |
+
optimizer:
|
| 124 |
+
_target_: torch.optim.Adam
|
| 125 |
+
lr: 5.0e-05
|
| 126 |
+
betas:
|
| 127 |
+
- 0.9
|
| 128 |
+
- 0.999
|
| 129 |
+
eps: 1.0e-08
|
| 130 |
+
weight_decay: 0
|
| 131 |
+
use_lr_scheduler: true
|
| 132 |
+
lr_scheduler:
|
| 133 |
+
_target_: torch.optim.lr_scheduler.ReduceLROnPlateau
|
| 134 |
+
factor: 0.6
|
| 135 |
+
patience: 30
|
| 136 |
+
min_lr: 0.0001
|
| 137 |
+
train:
|
| 138 |
+
deterministic: true
|
| 139 |
+
random_seed: 42
|
| 140 |
+
pl_trainer:
|
| 141 |
+
fast_dev_run: false
|
| 142 |
+
gpus: 1
|
| 143 |
+
precision: 32
|
| 144 |
+
max_epochs: ${data.train_max_epochs}
|
| 145 |
+
accumulate_grad_batches: 1
|
| 146 |
+
num_sanity_val_steps: 2
|
| 147 |
+
gradient_clip_val: 0.5
|
| 148 |
+
gradient_clip_algorithm: value
|
| 149 |
+
profiler: simple
|
| 150 |
+
monitor_metric: val_loss
|
| 151 |
+
monitor_metric_mode: min
|
| 152 |
+
early_stopping:
|
| 153 |
+
patience: ${data.early_stopping_patience}
|
| 154 |
+
verbose: false
|
| 155 |
+
model_checkpoints:
|
| 156 |
+
save_top_k: 1
|
| 157 |
+
verbose: false
|
| 158 |
+
save_last: false
|
| 159 |
+
init_from_ckpt: /home/wkli/invDesMobility/04_models/01_diffcsp_generator/pretrained/PretrainGenerationModel.ckpt
|
| 160 |
+
init_strict: true
|
| 161 |
+
expname: mobility2d_highquality280_ft_v1
|
| 162 |
+
core:
|
| 163 |
+
version: 0.0.1
|
| 164 |
+
tags:
|
| 165 |
+
- ${now:%Y-%m-%d}
|
finetuned/generator_round_08/lattice_scaler.pt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:37e1bcd4978cbbd571f807f2e5ef1e1bd3b07af7af5855c4dafdae13acd0d19b
|
| 3 |
+
size 1063
|
finetuned/generator_round_08/prop_scaler.pt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:c408545b8f7beb849444765ff8e4737ed23b65a0f91a52e1a50997aa8efef40f
|
| 3 |
+
size 1063
|
finetuned/generator_round_09/best.ckpt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:7c134fb145f601995b8ed6cf2680ecde707f7343f7463d2620dc487f02d7e12d
|
| 3 |
+
size 148276301
|
finetuned/generator_round_09/hparams.yaml
ADDED
|
@@ -0,0 +1,165 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
data:
|
| 2 |
+
root_path: /home/wkli/invDesMobility/01_code/InvDesFlow/data/mobility2d_feedback_round_09
|
| 3 |
+
prop: formation_energy_per_atom
|
| 4 |
+
num_targets: 1
|
| 5 |
+
niggli: true
|
| 6 |
+
primitive: false
|
| 7 |
+
graph_method: crystalnn
|
| 8 |
+
lattice_scale_method: scale_length
|
| 9 |
+
preprocess_workers: 8
|
| 10 |
+
readout: mean
|
| 11 |
+
max_atoms: 36
|
| 12 |
+
otf_graph: false
|
| 13 |
+
eval_model_name: mp20
|
| 14 |
+
tolerance: 0.1
|
| 15 |
+
use_space_group: false
|
| 16 |
+
use_pos_index: false
|
| 17 |
+
train_max_epochs: 1000
|
| 18 |
+
early_stopping_patience: 100000
|
| 19 |
+
teacher_forcing_max_epoch: 500
|
| 20 |
+
datamodule:
|
| 21 |
+
_target_: diffcsp.pl_data.datamodule.CrystDataModule
|
| 22 |
+
datasets:
|
| 23 |
+
train:
|
| 24 |
+
_target_: diffcsp.pl_data.dataset.CrystDataset
|
| 25 |
+
name: Formation energy train
|
| 26 |
+
path: ${data.root_path}/train.csv
|
| 27 |
+
save_path: ${data.root_path}/train_ori.pt
|
| 28 |
+
prop: ${data.prop}
|
| 29 |
+
niggli: ${data.niggli}
|
| 30 |
+
primitive: ${data.primitive}
|
| 31 |
+
graph_method: ${data.graph_method}
|
| 32 |
+
tolerance: ${data.tolerance}
|
| 33 |
+
use_space_group: ${data.use_space_group}
|
| 34 |
+
use_pos_index: ${data.use_pos_index}
|
| 35 |
+
lattice_scale_method: ${data.lattice_scale_method}
|
| 36 |
+
preprocess_workers: ${data.preprocess_workers}
|
| 37 |
+
val:
|
| 38 |
+
- _target_: diffcsp.pl_data.dataset.CrystDataset
|
| 39 |
+
name: Formation energy val
|
| 40 |
+
path: ${data.root_path}/val.csv
|
| 41 |
+
save_path: ${data.root_path}/val_ori.pt
|
| 42 |
+
prop: ${data.prop}
|
| 43 |
+
niggli: ${data.niggli}
|
| 44 |
+
primitive: ${data.primitive}
|
| 45 |
+
graph_method: ${data.graph_method}
|
| 46 |
+
tolerance: ${data.tolerance}
|
| 47 |
+
use_space_group: ${data.use_space_group}
|
| 48 |
+
use_pos_index: ${data.use_pos_index}
|
| 49 |
+
lattice_scale_method: ${data.lattice_scale_method}
|
| 50 |
+
preprocess_workers: ${data.preprocess_workers}
|
| 51 |
+
test:
|
| 52 |
+
- _target_: diffcsp.pl_data.dataset.CrystDataset
|
| 53 |
+
name: Formation energy test
|
| 54 |
+
path: ${data.root_path}/test.csv
|
| 55 |
+
save_path: ${data.root_path}/test_ori.pt
|
| 56 |
+
prop: ${data.prop}
|
| 57 |
+
niggli: ${data.niggli}
|
| 58 |
+
primitive: ${data.primitive}
|
| 59 |
+
graph_method: ${data.graph_method}
|
| 60 |
+
tolerance: ${data.tolerance}
|
| 61 |
+
use_space_group: ${data.use_space_group}
|
| 62 |
+
use_pos_index: ${data.use_pos_index}
|
| 63 |
+
lattice_scale_method: ${data.lattice_scale_method}
|
| 64 |
+
preprocess_workers: ${data.preprocess_workers}
|
| 65 |
+
num_workers:
|
| 66 |
+
train: 0
|
| 67 |
+
val: 0
|
| 68 |
+
test: 0
|
| 69 |
+
batch_size:
|
| 70 |
+
train: 256
|
| 71 |
+
val: 128
|
| 72 |
+
test: 128
|
| 73 |
+
logging:
|
| 74 |
+
val_check_interval: 5
|
| 75 |
+
progress_bar_refresh_rate: 1
|
| 76 |
+
wandb:
|
| 77 |
+
name: ${expname}
|
| 78 |
+
project: diffcsp
|
| 79 |
+
entity: null
|
| 80 |
+
log_model: true
|
| 81 |
+
mode: offline
|
| 82 |
+
group: ${expname}
|
| 83 |
+
wandb_watch:
|
| 84 |
+
log: all
|
| 85 |
+
log_freq: 500
|
| 86 |
+
lr_monitor:
|
| 87 |
+
logging_interval: step
|
| 88 |
+
log_momentum: false
|
| 89 |
+
model:
|
| 90 |
+
decoder:
|
| 91 |
+
_target_: diffcsp.pl_modules.cspnet.CSPNet
|
| 92 |
+
hidden_dim: 512
|
| 93 |
+
latent_dim: 0
|
| 94 |
+
max_atoms: 100
|
| 95 |
+
num_layers: 6
|
| 96 |
+
act_fn: silu
|
| 97 |
+
dis_emb: sin
|
| 98 |
+
num_freqs: 128
|
| 99 |
+
edge_style: fc
|
| 100 |
+
max_neighbors: ${model.max_neighbors}
|
| 101 |
+
cutoff: ${model.radius}
|
| 102 |
+
ln: true
|
| 103 |
+
ip: true
|
| 104 |
+
beta_scheduler:
|
| 105 |
+
_target_: diffcsp.pl_modules.diff_utils.BetaScheduler
|
| 106 |
+
timesteps: ${model.timesteps}
|
| 107 |
+
scheduler_mode: cosine
|
| 108 |
+
sigma_scheduler:
|
| 109 |
+
_target_: diffcsp.pl_modules.diff_utils.SigmaScheduler
|
| 110 |
+
timesteps: ${model.timesteps}
|
| 111 |
+
sigma_begin: 0.005
|
| 112 |
+
sigma_end: 0.5
|
| 113 |
+
_target_: diffcsp.pl_modules.diffusion_w_type.CSPDiffusion
|
| 114 |
+
time_dim: 256
|
| 115 |
+
latent_dim: 0
|
| 116 |
+
cost_coord: 1.0
|
| 117 |
+
cost_lattice: 1.0
|
| 118 |
+
cost_type: 20.0
|
| 119 |
+
max_neighbors: 20
|
| 120 |
+
radius: 7.0
|
| 121 |
+
timesteps: 1000
|
| 122 |
+
optim:
|
| 123 |
+
optimizer:
|
| 124 |
+
_target_: torch.optim.Adam
|
| 125 |
+
lr: 5.0e-05
|
| 126 |
+
betas:
|
| 127 |
+
- 0.9
|
| 128 |
+
- 0.999
|
| 129 |
+
eps: 1.0e-08
|
| 130 |
+
weight_decay: 0
|
| 131 |
+
use_lr_scheduler: true
|
| 132 |
+
lr_scheduler:
|
| 133 |
+
_target_: torch.optim.lr_scheduler.ReduceLROnPlateau
|
| 134 |
+
factor: 0.6
|
| 135 |
+
patience: 30
|
| 136 |
+
min_lr: 0.0001
|
| 137 |
+
train:
|
| 138 |
+
deterministic: true
|
| 139 |
+
random_seed: 42
|
| 140 |
+
pl_trainer:
|
| 141 |
+
fast_dev_run: false
|
| 142 |
+
gpus: 1
|
| 143 |
+
precision: 32
|
| 144 |
+
max_epochs: ${data.train_max_epochs}
|
| 145 |
+
accumulate_grad_batches: 1
|
| 146 |
+
num_sanity_val_steps: 2
|
| 147 |
+
gradient_clip_val: 0.5
|
| 148 |
+
gradient_clip_algorithm: value
|
| 149 |
+
profiler: simple
|
| 150 |
+
monitor_metric: val_loss
|
| 151 |
+
monitor_metric_mode: min
|
| 152 |
+
early_stopping:
|
| 153 |
+
patience: ${data.early_stopping_patience}
|
| 154 |
+
verbose: false
|
| 155 |
+
model_checkpoints:
|
| 156 |
+
save_top_k: 1
|
| 157 |
+
verbose: false
|
| 158 |
+
save_last: false
|
| 159 |
+
init_from_ckpt: /home/wkli/invDesMobility/04_models/01_diffcsp_generator/pretrained/PretrainGenerationModel.ckpt
|
| 160 |
+
init_strict: true
|
| 161 |
+
expname: mobility2d_highquality280_ft_v1
|
| 162 |
+
core:
|
| 163 |
+
version: 0.0.1
|
| 164 |
+
tags:
|
| 165 |
+
- ${now:%Y-%m-%d}
|
finetuned/generator_round_09/lattice_scaler.pt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:7bfd5133ea33930bfba046c099e2b9f4d69fa92aac270763402707424503e9e2
|
| 3 |
+
size 1063
|
finetuned/generator_round_09/prop_scaler.pt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:c408545b8f7beb849444765ff8e4737ed23b65a0f91a52e1a50997aa8efef40f
|
| 3 |
+
size 1063
|
finetuned/mobility2d_highquality280_ft_v1/best.ckpt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:bb8f8803a5e324f33d3c0ef7c079eae0e1c5c21aa0bca3219e37fd96c805546f
|
| 3 |
+
size 148276173
|
finetuned/mobility2d_highquality280_ft_v1/hparams.yaml
ADDED
|
@@ -0,0 +1,165 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
data:
|
| 2 |
+
root_path: /home/wkli/invDesMobility/InvDesFlow/data/mobility2d_highquality280
|
| 3 |
+
prop: formation_energy_per_atom
|
| 4 |
+
num_targets: 1
|
| 5 |
+
niggli: true
|
| 6 |
+
primitive: false
|
| 7 |
+
graph_method: crystalnn
|
| 8 |
+
lattice_scale_method: scale_length
|
| 9 |
+
preprocess_workers: 8
|
| 10 |
+
readout: mean
|
| 11 |
+
max_atoms: 36
|
| 12 |
+
otf_graph: false
|
| 13 |
+
eval_model_name: mp20
|
| 14 |
+
tolerance: 0.1
|
| 15 |
+
use_space_group: false
|
| 16 |
+
use_pos_index: false
|
| 17 |
+
train_max_epochs: 1000
|
| 18 |
+
early_stopping_patience: 100000
|
| 19 |
+
teacher_forcing_max_epoch: 500
|
| 20 |
+
datamodule:
|
| 21 |
+
_target_: diffcsp.pl_data.datamodule.CrystDataModule
|
| 22 |
+
datasets:
|
| 23 |
+
train:
|
| 24 |
+
_target_: diffcsp.pl_data.dataset.CrystDataset
|
| 25 |
+
name: Formation energy train
|
| 26 |
+
path: ${data.root_path}/train.csv
|
| 27 |
+
save_path: ${data.root_path}/train_ori.pt
|
| 28 |
+
prop: ${data.prop}
|
| 29 |
+
niggli: ${data.niggli}
|
| 30 |
+
primitive: ${data.primitive}
|
| 31 |
+
graph_method: ${data.graph_method}
|
| 32 |
+
tolerance: ${data.tolerance}
|
| 33 |
+
use_space_group: ${data.use_space_group}
|
| 34 |
+
use_pos_index: ${data.use_pos_index}
|
| 35 |
+
lattice_scale_method: ${data.lattice_scale_method}
|
| 36 |
+
preprocess_workers: ${data.preprocess_workers}
|
| 37 |
+
val:
|
| 38 |
+
- _target_: diffcsp.pl_data.dataset.CrystDataset
|
| 39 |
+
name: Formation energy val
|
| 40 |
+
path: ${data.root_path}/val.csv
|
| 41 |
+
save_path: ${data.root_path}/val_ori.pt
|
| 42 |
+
prop: ${data.prop}
|
| 43 |
+
niggli: ${data.niggli}
|
| 44 |
+
primitive: ${data.primitive}
|
| 45 |
+
graph_method: ${data.graph_method}
|
| 46 |
+
tolerance: ${data.tolerance}
|
| 47 |
+
use_space_group: ${data.use_space_group}
|
| 48 |
+
use_pos_index: ${data.use_pos_index}
|
| 49 |
+
lattice_scale_method: ${data.lattice_scale_method}
|
| 50 |
+
preprocess_workers: ${data.preprocess_workers}
|
| 51 |
+
test:
|
| 52 |
+
- _target_: diffcsp.pl_data.dataset.CrystDataset
|
| 53 |
+
name: Formation energy test
|
| 54 |
+
path: ${data.root_path}/test.csv
|
| 55 |
+
save_path: ${data.root_path}/test_ori.pt
|
| 56 |
+
prop: ${data.prop}
|
| 57 |
+
niggli: ${data.niggli}
|
| 58 |
+
primitive: ${data.primitive}
|
| 59 |
+
graph_method: ${data.graph_method}
|
| 60 |
+
tolerance: ${data.tolerance}
|
| 61 |
+
use_space_group: ${data.use_space_group}
|
| 62 |
+
use_pos_index: ${data.use_pos_index}
|
| 63 |
+
lattice_scale_method: ${data.lattice_scale_method}
|
| 64 |
+
preprocess_workers: ${data.preprocess_workers}
|
| 65 |
+
num_workers:
|
| 66 |
+
train: 0
|
| 67 |
+
val: 0
|
| 68 |
+
test: 0
|
| 69 |
+
batch_size:
|
| 70 |
+
train: 256
|
| 71 |
+
val: 128
|
| 72 |
+
test: 128
|
| 73 |
+
logging:
|
| 74 |
+
val_check_interval: 5
|
| 75 |
+
progress_bar_refresh_rate: 1
|
| 76 |
+
wandb:
|
| 77 |
+
name: ${expname}
|
| 78 |
+
project: diffcsp
|
| 79 |
+
entity: null
|
| 80 |
+
log_model: true
|
| 81 |
+
mode: offline
|
| 82 |
+
group: ${expname}
|
| 83 |
+
wandb_watch:
|
| 84 |
+
log: all
|
| 85 |
+
log_freq: 500
|
| 86 |
+
lr_monitor:
|
| 87 |
+
logging_interval: step
|
| 88 |
+
log_momentum: false
|
| 89 |
+
model:
|
| 90 |
+
decoder:
|
| 91 |
+
_target_: diffcsp.pl_modules.cspnet.CSPNet
|
| 92 |
+
hidden_dim: 512
|
| 93 |
+
latent_dim: 0
|
| 94 |
+
max_atoms: 100
|
| 95 |
+
num_layers: 6
|
| 96 |
+
act_fn: silu
|
| 97 |
+
dis_emb: sin
|
| 98 |
+
num_freqs: 128
|
| 99 |
+
edge_style: fc
|
| 100 |
+
max_neighbors: ${model.max_neighbors}
|
| 101 |
+
cutoff: ${model.radius}
|
| 102 |
+
ln: true
|
| 103 |
+
ip: true
|
| 104 |
+
beta_scheduler:
|
| 105 |
+
_target_: diffcsp.pl_modules.diff_utils.BetaScheduler
|
| 106 |
+
timesteps: ${model.timesteps}
|
| 107 |
+
scheduler_mode: cosine
|
| 108 |
+
sigma_scheduler:
|
| 109 |
+
_target_: diffcsp.pl_modules.diff_utils.SigmaScheduler
|
| 110 |
+
timesteps: ${model.timesteps}
|
| 111 |
+
sigma_begin: 0.005
|
| 112 |
+
sigma_end: 0.5
|
| 113 |
+
_target_: diffcsp.pl_modules.diffusion_w_type.CSPDiffusion
|
| 114 |
+
time_dim: 256
|
| 115 |
+
latent_dim: 0
|
| 116 |
+
cost_coord: 1.0
|
| 117 |
+
cost_lattice: 1.0
|
| 118 |
+
cost_type: 20.0
|
| 119 |
+
max_neighbors: 20
|
| 120 |
+
radius: 7.0
|
| 121 |
+
timesteps: 1000
|
| 122 |
+
optim:
|
| 123 |
+
optimizer:
|
| 124 |
+
_target_: torch.optim.Adam
|
| 125 |
+
lr: 5.0e-05
|
| 126 |
+
betas:
|
| 127 |
+
- 0.9
|
| 128 |
+
- 0.999
|
| 129 |
+
eps: 1.0e-08
|
| 130 |
+
weight_decay: 0
|
| 131 |
+
use_lr_scheduler: true
|
| 132 |
+
lr_scheduler:
|
| 133 |
+
_target_: torch.optim.lr_scheduler.ReduceLROnPlateau
|
| 134 |
+
factor: 0.6
|
| 135 |
+
patience: 30
|
| 136 |
+
min_lr: 0.0001
|
| 137 |
+
train:
|
| 138 |
+
deterministic: true
|
| 139 |
+
random_seed: 42
|
| 140 |
+
pl_trainer:
|
| 141 |
+
fast_dev_run: false
|
| 142 |
+
gpus: 1
|
| 143 |
+
precision: 32
|
| 144 |
+
max_epochs: ${data.train_max_epochs}
|
| 145 |
+
accumulate_grad_batches: 1
|
| 146 |
+
num_sanity_val_steps: 2
|
| 147 |
+
gradient_clip_val: 0.5
|
| 148 |
+
gradient_clip_algorithm: value
|
| 149 |
+
profiler: simple
|
| 150 |
+
monitor_metric: val_loss
|
| 151 |
+
monitor_metric_mode: min
|
| 152 |
+
early_stopping:
|
| 153 |
+
patience: ${data.early_stopping_patience}
|
| 154 |
+
verbose: false
|
| 155 |
+
model_checkpoints:
|
| 156 |
+
save_top_k: 1
|
| 157 |
+
verbose: false
|
| 158 |
+
save_last: false
|
| 159 |
+
init_from_ckpt: /home/wkli/invDesMobility/PretrainGenerationModel.ckpt
|
| 160 |
+
init_strict: true
|
| 161 |
+
expname: mobility2d_highquality280_ft_v1
|
| 162 |
+
core:
|
| 163 |
+
version: 0.0.1
|
| 164 |
+
tags:
|
| 165 |
+
- ${now:%Y-%m-%d}
|
finetuned/mobility2d_highquality280_ft_v1/lattice_scaler.pt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:3752c356c504b3059b42472ea9eac143876d0ba081950bccb94e26c2854a7eae
|
| 3 |
+
size 1063
|
finetuned/mobility2d_highquality280_ft_v1/prop_scaler.pt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:c408545b8f7beb849444765ff8e4737ed23b65a0f91a52e1a50997aa8efef40f
|
| 3 |
+
size 1063
|
pretrained/PretrainGenerationModel.ckpt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:ea047823d06d6ec8b305a16c215a2a76535bfac65b7966d68a3ce02616bba147
|
| 3 |
+
size 148293377
|