MatFlow / flowmm_mp20 /hparams.yaml
jwchen25's picture
Upload folder using huggingface_hub
53ecc0b verified
core:
version: ${get_flowmm_version:}
tags:
- ${now:%Y-%m-%d}
logging:
val_check_interval: 5
wandb:
project: rfmcsp-${model.target_distribution}-${hydra:runtime.choices.data}
entity: null
log_model: true
mode: online
group: ${hydra:runtime.choices.model}-${hydra:runtime.choices.vectorfield}-${generate_id:}
wandb_watch:
log: all
log_freq: 500
lr_monitor:
logging_interval: step
log_momentum: false
optim:
optimizer:
_target_: torch.optim.AdamW
lr: 0.0003
weight_decay: 0.0
lr_scheduler:
_target_: torch.optim.lr_scheduler.CosineAnnealingLR
T_max: ${data.train_max_epochs}
eta_min: 1.0e-05
interval: epoch
ema_decay: 0.999
train:
deterministic: warn
random_seed: 42
pl_trainer:
fast_dev_run: false
devices: 1
accelerator: gpu
precision: 32
max_epochs: ${data.train_max_epochs}
accumulate_grad_batches: 1
num_sanity_val_steps: 1
gradient_clip_val: 0.5
gradient_clip_algorithm: value
profiler: simple
monitor_metric: val/loss
monitor_metric_mode: min
model_checkpoints:
save_top_k: 1
verbose: false
save_last: false
every_n_epochs_checkpoint:
every_n_epochs: 100
save_top_k: -1
verbose: false
save_last: false
val:
compute_nll: false
test:
compute_nll: false
compute_loss: true
integrate:
div_mode: rademacher
method: euler
num_steps: 1000
normalize_loglik: true
inference_anneal_slope: 0.0
inference_anneal_offset: 0.0
base_distribution_from_data: false
data:
dataset_name: mp_20
dim_coords: 3
root_path: ${oc.env:PROJECT_ROOT}/data/mp_20
prop: formation_energy_per_atom
num_targets: 1
niggli: true
primitive: false
graph_method: crystalnn
lattice_scale_method: scale_length
preprocess_workers: 30
readout: mean
max_atoms: 20
otf_graph: false
eval_model_name: mp20
tolerance: 0.1
use_space_group: false
use_pos_index: false
train_max_epochs: 2000
early_stopping_patience: 100000
teacher_forcing_max_epoch: 500
datamodule:
_target_: diffcsp.pl_data.datamodule.CrystDataModule
datasets:
train:
_target_: diffcsp.pl_data.dataset.CrystDataset
name: Formation energy train
path: ${data.root_path}/train.csv
save_path: ${data.root_path}/train_ori.pt
prop: ${data.prop}
niggli: ${data.niggli}
primitive: ${data.primitive}
graph_method: ${data.graph_method}
tolerance: ${data.tolerance}
use_space_group: ${data.use_space_group}
use_pos_index: ${data.use_pos_index}
lattice_scale_method: ${data.lattice_scale_method}
preprocess_workers: ${data.preprocess_workers}
val:
- _target_: diffcsp.pl_data.dataset.CrystDataset
name: Formation energy val
path: ${data.root_path}/val.csv
save_path: ${data.root_path}/val_ori.pt
prop: ${data.prop}
niggli: ${data.niggli}
primitive: ${data.primitive}
graph_method: ${data.graph_method}
tolerance: ${data.tolerance}
use_space_group: ${data.use_space_group}
use_pos_index: ${data.use_pos_index}
lattice_scale_method: ${data.lattice_scale_method}
preprocess_workers: ${data.preprocess_workers}
test:
- _target_: diffcsp.pl_data.dataset.CrystDataset
name: Formation energy test
path: ${data.root_path}/test.csv
save_path: ${data.root_path}/test_ori.pt
prop: ${data.prop}
niggli: ${data.niggli}
primitive: ${data.primitive}
graph_method: ${data.graph_method}
tolerance: ${data.tolerance}
use_space_group: ${data.use_space_group}
use_pos_index: ${data.use_pos_index}
lattice_scale_method: ${data.lattice_scale_method}
preprocess_workers: ${data.preprocess_workers}
num_workers:
train: 40
val: 40
test: 40
batch_size:
train: 256
val: 1024
test: 512
model:
cost_coord: 400.0
cost_lattice: 1.0
cost_type: 40.0
cost_cross_ent: 0.0
affine_combine_costs: true
target_distribution: unconditional
self_cond: false
manifold_getter:
atom_type_manifold: analog_bits
coord_manifold: flat_torus_01
lattice_manifold: lattice_params
analog_bits_scale: 1.0
length_inner_coef: 1.0
vectorfield:
_target_: flowmm.model.arch.CSPNet
hidden_dim: 512
time_dim: 256
num_layers: 6
act_fn: silu
dis_emb: sin
num_freqs: 128
edge_style: fc
max_neighbors: 20
cutoff: 7.0
ln: true
use_log_map: true
dim_atomic_rep: ${get_dim_atomic_rep:${model.manifold_getter.atom_type_manifold}}
lattice_manifold: ${model.manifold_getter.lattice_manifold}
concat_sum_pool: true
represent_num_atoms: true
represent_angle_edge_to_lattice: true
self_edges: false
self_cond: ${model.self_cond}