| 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} |
|
|