| data: |
| datamodule: |
| _target_: mldft.ml.data.datamodule.OFDataModule |
| transforms: ${data.transforms} |
| split_file: |
| _target_: mldft.utils.dynamic_splitfiles.construct_splitfile |
| split_files: ${oc.env:DFT_DATA}/${data.dataset_name}/split.pkl |
| output_file: ${paths.output_dir}/split.pkl |
| data_dir: ${oc.env:DFT_DATA} |
| basis_info: ${data.basis_info} |
| batch_size: 128 |
| num_workers: 8 |
| pin_memory: false |
| shuffle_train: true |
| shuffle_val: false |
| shuffle_test: false |
| do_denop_val: ${denop_val} |
| denop_val_select: seeded_random |
| n_denop_mols: 10 |
| requires_grid: ${requires_grid:${data.target_key},${denop_settings.negative_integrated_density_penalty_weight}} |
| grid_level: ${denop_settings.grid_level} |
| grid_prune: ${denop_settings.grid_prune} |
| dataset_kwargs: |
| add_irreps: true |
| cache_in_memory: false |
| energy_key: e_${data.target_key} |
| gradient_key: grad_${data.target_key} |
| limit_scf_iterations: |
| - 6 |
| - 7 |
| - 8 |
| - 9 |
| - 10 |
| - 11 |
| - 12 |
| - 13 |
| - 14 |
| - 15 |
| - 16 |
| - 17 |
| - 18 |
| - 19 |
| - 20 |
| - 21 |
| - 22 |
| - 23 |
| - 24 |
| - 25 |
| - 26 |
| - -1 |
| keep_initial_guess: false |
| restricted: true |
| load_nuclear_gradients: false |
| hdf5_manifest_path: ${data.dataset_name}/{label_subdir}_h5_${data.target_key}/manifest.json |
| denop_hdf5_manifest_path: ${data.dataset_name}/labels_denop_h5_${data.target_key}/manifest.json |
| hdf5_max_open_shards: 256 |
| label_path: false |
| kohn_sham_path: false |
| ground_state_coeffs: false |
| dataloader_kwargs: |
| follow_batch: |
| - coeffs |
| - atomic_numbers |
| list_keys: |
| - overlap_matrix |
| - transform_grad_contracted |
| transforms: |
| cached_transforms: |
| name: local_frames_global_${data.natural_reparametrization.orthogonalization}_natrep |
| additional_pre_transforms: |
| - _target_: mldft.ml.data.components.convert_transforms.AddOverlapMatrix |
| basis_info: ${data.basis_info} |
| transforms: |
| - _target_: mldft.ml.data.components.basis_transforms.ToLocalFrames |
| sparse: false |
| - _target_: mldft.ml.data.components.basis_transforms.ToGlobalNatRep |
| orthogonalization: ${data.natural_reparametrization.orthogonalization} |
| _target_: mldft.ml.data.components.basis_transforms.MasterTransformation |
| name: local_frames_global_${data.natural_reparametrization.orthogonalization}_natrep |
| use_cached_data: true |
| pre_transforms: |
| - _target_: mldft.ml.data.components.convert_transforms.ToTorch |
| float_dtype: torch.float64 |
| - _target_: mldft.ml.data.components.convert_transforms.ProjectGradient |
| - _target_: mldft.ml.data.components.convert_transforms.AddRadiusEdgeIndex |
| radius: ${data.cutoff} |
| - _target_: mldft.ml.data.components.convert_transforms.AddLocalFrames |
| basis_transforms: [] |
| post_transforms: |
| - _target_: mldft.ml.data.components.convert_transforms.ToTorch |
| add_transformation_matrix: false |
| target_key: kin_plus_xc |
| use_global_energy_bias: false |
| dataset_statistics: |
| _target_: mldft.ml.preprocess.dataset_statistics.DatasetStatistics |
| path: ${oc.env:DFT_DATA}/QMUGSBin0_perturbed_fock/dataset_statistics/dataset_statistics_labels_${data.transforms.name}_${data.datamodule.dataset_kwargs.energy_key}${mux:${data.use_global_energy_bias},'',_without_bias}.zarr |
| natural_reparametrization: |
| orthogonalization: symmetric |
| basis_info: |
| _target_: mldft.ml.data.components.basis_info.BasisInfo.from_dataset_info_yaml |
| path_to_data_info: ${oc.env:DFT_DATA}/${data.dataset_name}/dataset_info.yaml |
| atomic_numbers: |
| - 1 |
| - 6 |
| - 7 |
| - 8 |
| - 9 |
| cutoff: 6.0 |
| cutoff_start: 0.0 |
| dataset_name: QM7X_QM9_QMUGSBin0-0X_perturbed_fock_OMolPBE_geo20 |
| model: |
| optimizer: |
| _target_: torch.optim.AdamW |
| _partial_: true |
| lr: 7.0e-05 |
| betas: |
| - 0.95 |
| - 0.99 |
| weight_decay: 1.0e-10 |
| loss_function: |
| _target_: mldft.ml.models.components.loss_function.WeightedLoss |
| energy_loss: |
| weight: 0.1 |
| loss: |
| _target_: mldft.ml.models.components.loss_function.EnergyLoss |
| loss_function: |
| _target_: torch.nn.L1Loss |
| reduction: none |
| sample_weigher: |
| _target_: mldft.ml.models.components.sample_weighers.HasEnergyLabelSampleWeigher |
| gradient_loss: |
| weight: 0.9 |
| loss: |
| _target_: mldft.ml.models.components.loss_function.EnergyGradientLoss |
| loss_function: |
| _target_: torch.nn.L1Loss |
| reduction: none |
| sample_weigher: |
| _target_: mldft.ml.models.components.sample_weighers.HasEnergyLabelSampleWeigher |
| scheduler: |
| _target_: torch.optim.lr_scheduler.CosineAnnealingLR |
| _partial_: true |
| T_max: ${trainer.max_epochs} |
| eta_min: 0 |
| last_epoch: -1 |
| _target_: mldft.ml.models.mldft_module.MLDFTLitModule |
| variational: true |
| target_key: ${data.target_key} |
| compile: false |
| basis_info: ${data.basis_info} |
| loss_log_interval: 50 |
| metric_interval: 50 |
| enable_initial_guess_metrics: false |
| scheduler_interval: epoch |
| logging_mixin_interval: 1000 |
| show_logging_mixins_in_progress_bar: false |
| do_denop_val: ${denop_val} |
| dataset_statistics: |
| _target_: mldft.ml.preprocess.dataset_statistics.DatasetStatistics |
| path: ${to_no_basis_transforms_dataset_statistics:${data.dataset_statistics.path},${data.transforms.name}} |
| density_optimizer: ${density_optimizer} |
| denop_settings: ${denop_settings} |
| net: |
| radial_embedding_module: |
| basis_info: ${data.basis_info} |
| directed: true |
| out_channels: 128 |
| _target_: mldft.ml.models.components.radial_embedding.GaussianEmbedding |
| init_radius_range: |
| - 0 |
| - 3 |
| std_init_radius_range: |
| - 0.1 |
| - 3 |
| normalized: true |
| _target_: mldft.ml.models.components.graphformer.Graphformer |
| edge_mlp: |
| _target_: mldft.ml.models.components.mlp.MLP |
| in_channels: 128 |
| hidden_channels: |
| - 768 |
| - 32 |
| activation_layer: |
| _target_: hydra.utils.get_class |
| path: torch.nn.SiLU |
| dropout: 0.0 |
| energy_mlp: |
| _target_: mldft.ml.models.components.graphformer.MLPStack |
| in_channels: 768 |
| hidden_channels: |
| - 768 |
| - 1 |
| activation_layer: |
| _target_: hydra.utils.get_class |
| path: torch.nn.SiLU |
| dropout: 0.0 |
| disable_dropout_last_layer: true |
| disable_activation_last_layer: true |
| disable_norm_last_layer: true |
| mlp_class: |
| _partial_: true |
| _target_: mldft.ml.models.components.mlp.MLP |
| n_mlps: 4 |
| node_embedding_module: |
| _target_: mldft.ml.models.components.node_embedding.NodeEmbedding.from_basis_info |
| basis_info: ${data.basis_info} |
| out_channels: 768 |
| dst_in_channels: 128 |
| p_hidden_channels: 768 |
| p_num_layers: 3 |
| p_activation: |
| _target_: hydra.utils.get_class |
| path: torch.nn.GELU |
| p_dropout: 0.0 |
| dst_hidden_channels: 768 |
| dst_num_layers: 3 |
| dst_activation: |
| _target_: hydra.utils.get_class |
| path: torch.nn.GELU |
| dst_dropout: 0.0 |
| lambda_co: 10.0 |
| lambda_mul: 0.02 |
| use_per_basis_func_shrink_gate: true |
| cutoff: ${data.cutoff} |
| cutoff_start: ${data.cutoff_start} |
| gnn_module: |
| _target_: mldft.ml.models.components.g3d_stack.G3DStack |
| g3d_class: |
| _partial_: true |
| _target_: mldft.ml.models.components.g3d_layer_tf.G3DLayerTF |
| in_reps: |
| _target_: tensorframes.reps.Irreps |
| irreps: 513x0+85x1 |
| n_layers: 8 |
| heads: 32 |
| edge_dim: 1 |
| dropout: 0.0 |
| attention_weight_dropout: 0.0 |
| mlp_hidden_dim: null |
| mlp_activation: |
| _target_: hydra.utils.get_class |
| path: torch.nn.GELU |
| norm_layer_class: |
| _target_: torch_geometric.nn.norm.layer_norm.LayerNorm |
| _partial_: true |
| mode: node |
| activation_dropout: 0.0 |
| cutoff: ${data.cutoff} |
| cutoff_start: ${data.cutoff_start} |
| energy_readout_every: 2 |
| atom_ref_module: |
| _target_: mldft.ml.models.components.atom_ref.AtomRef.from_dataset_statistics |
| dataset_statistics: ${data.dataset_statistics} |
| weigher_key: has_energy_label |
| initial_guess_module: |
| _target_: mldft.ml.models.components.initial_guess_delta_module.InitialGuessDeltaModule |
| input_size: 768 |
| basis_info: ${data.basis_info} |
| dataset_statistics: ${data.dataset_statistics} |
| weigher_key: initial_guess_only |
| activation_function: |
| _target_: hydra.utils.get_class |
| path: torch.nn.GELU |
| hidden_layers: |
| - 768 |
| dropout: 0.0 |
| dimension_wise_rescaling_module: |
| _target_: mldft.ml.models.components.dimension_wise_rescaling.DimensionWiseRescaling.from_dataset_statistics |
| dataset_statistics: ${data.dataset_statistics} |
| weigher_key: has_energy_label |
| s_coeff: 50 |
| s_grad: 0.05 |
| epsilon: 1.0e-08 |
| density_optimizer: |
| convergence_tolerance: 0.0001 |
| max_cycle: 1000 |
| reg_epsilon: null |
| reg_gamma: null |
| hard_projection: false |
| eigenvalue_threshold: null |
| quantile_threshold: null |
| orthogonal_projection: true |
| ks_basis: ${denop_settings.ks_basis} |
| apply_reg_mat_to_step: true |
| _target_: mldft.ofdft.optimizer.TorchOptimizer |
| torch_optimizer: |
| _target_: torch.optim.SGD |
| _partial_: true |
| lr: 0.003 |
| momentum: 0.9 |
| denop_settings: |
| initialization: sad |
| guess_path: null |
| normalize_initial_guess: true |
| ks_basis: 6-31G(2df,p) |
| xc_functional: PBE |
| negative_integrated_density_penalty_weight: 0.0 |
| convergence_criterion: last_iter |
| grid_level: 3 |
| grid_prune: nwchem_prune |
| max_xc_memory: 4000 |
| callbacks: |
| learning_rate_monitor: |
| _target_: lightning.pytorch.callbacks.LearningRateMonitor |
| model_checkpoint: |
| _target_: mldft.ml.callbacks.checkpoint.ModelCheckpointWithPermissions |
| dirpath: ${paths.output_dir}/checkpoints |
| filename: val_loss_total_epoch_{epoch:03d} |
| monitor: val_loss/total |
| mode: min |
| save_last: false |
| auto_insert_metric_name: false |
| verbose: false |
| save_top_k: 1 |
| save_weights_only: false |
| every_n_train_steps: null |
| train_time_interval: null |
| every_n_epochs: null |
| save_on_train_epoch_end: null |
| model_checkpoint_gs_abs_energy_error: |
| _target_: mldft.ml.callbacks.checkpoint.ModelCheckpointWithPermissions |
| dirpath: ${paths.output_dir}/checkpoints |
| filename: gs_abs_energy_error_epoch_{epoch:03d} |
| monitor: val_denop_metrics/gs_abs_energy_error |
| mode: min |
| save_last: false |
| auto_insert_metric_name: false |
| save_top_k: ${mux:${denop_val}, 1, 0} |
| save_weights_only: false |
| every_n_train_steps: null |
| train_time_interval: null |
| every_n_epochs: null |
| save_on_train_epoch_end: null |
| model_checkpoint_gs_l2_norm: |
| _target_: mldft.ml.callbacks.checkpoint.ModelCheckpointWithPermissions |
| dirpath: ${paths.output_dir}/checkpoints |
| filename: gs_l2_norm_epoch_{epoch:03d} |
| monitor: val_denop_metrics/gs_l2_norm |
| mode: min |
| save_last: false |
| auto_insert_metric_name: false |
| save_top_k: ${mux:${denop_val}, 1, 0} |
| save_weights_only: false |
| every_n_train_steps: null |
| train_time_interval: null |
| every_n_epochs: null |
| save_on_train_epoch_end: null |
| model_checkpoint_last: |
| _target_: mldft.ml.callbacks.checkpoint.ModelCheckpointWithPermissions |
| dirpath: ${paths.output_dir}/checkpoints |
| filename: last_epoch_{epoch:03d} |
| monitor: epoch |
| mode: max |
| save_last: false |
| auto_insert_metric_name: false |
| verbose: false |
| save_top_k: 1 |
| save_weights_only: false |
| every_n_train_steps: null |
| train_time_interval: null |
| every_n_epochs: null |
| save_on_train_epoch_end: null |
| model_summary: |
| _target_: mldft.ml.callbacks.SubModelSummary |
| max_depth: -1 |
| path_in_model: net |
| rich_progress_bar: |
| _target_: lightning.pytorch.callbacks.RichProgressBar |
| print_overrides: |
| _target_: mldft.ml.callbacks.PrintOverrides |
| compact: false |
| target_pred_scatters: |
| _target_: mldft.ml.callbacks.image_logging.LogTargetPredScatters |
| with_atom_ref: auto |
| train_timing: |
| _target_: mldft.ml.callbacks.timing.EveryIncreasingInterval |
| initial_interval: ${callbacks.interval} |
| val_timing: |
| _target_: mldft.ml.callbacks.timing.EveryIncreasingInterval |
| initial_interval: ${callbacks.interval} |
| gradient_scatter: |
| _target_: mldft.ml.callbacks.image_logging.LogGradientScatter |
| train_timing: |
| _target_: mldft.ml.callbacks.timing.EveryIncreasingInterval |
| initial_interval: ${callbacks.interval} |
| val_timing: |
| _target_: mldft.ml.callbacks.timing.EveryIncreasingInterval |
| initial_interval: ${callbacks.interval} |
| distance_embeddings: |
| _target_: mldft.ml.callbacks.image_logging.LogDistanceEmbeddings |
| max_distance: 8.0 |
| n_distances: 1000 |
| train_timing: |
| _target_: mldft.ml.callbacks.timing.EveryIncreasingInterval |
| initial_interval: ${callbacks.interval} |
| val_timing: |
| _target_: mldft.ml.callbacks.timing.EveryIncreasingInterval |
| initial_interval: ${callbacks.interval} |
| molecule_mesh_logging: |
| log_initial_guess: false |
| log_gradient: true |
| log_random_basis_functions: false |
| _target_: mldft.ml.callbacks.mesh_logging.LogMolecule |
| train_timing: |
| _target_: mldft.ml.callbacks.timing.EveryIncreasingInterval |
| initial_interval: ${callbacks.interval} |
| val_timing: |
| _target_: mldft.ml.callbacks.timing.EveryIncreasingInterval |
| initial_interval: ${callbacks.interval} |
| custom_scalars: |
| _target_: mldft.ml.callbacks.custom_scalars.AddMetricAndLossCustomScalars |
| interval: 1000 |
| logger: |
| tensorboard: |
| _target_: lightning.pytorch.loggers.tensorboard.TensorBoardLogger |
| save_dir: ${paths.output_dir} |
| max_queue: 10000 |
| name: null |
| log_graph: false |
| default_hp_metric: false |
| prefix: '' |
| version: '' |
| trainer: |
| _target_: lightning.pytorch.trainer.Trainer |
| default_root_dir: ${paths.output_dir} |
| min_epochs: 1 |
| max_epochs: 30 |
| log_every_n_steps: 200 |
| inference_mode: false |
| accelerator: auto |
| devices: 1 |
| precision: 32 |
| check_val_every_n_epoch: 1 |
| deterministic: false |
| paths: |
| data_dir: ${oc.env:DFT_DATA} |
| log_dir: ${oc.env:DFT_MODELS} |
| output_dir: ${hydra:runtime.output_dir} |
| work_dir: ${hydra:runtime.cwd} |
| extras: |
| ignore_warnings: false |
| enforce_tags: true |
| print_config: true |
| print_defaults_tree: |
| group_color: cyan |
| guide_style: dim |
| hostname: compgpu14 |
| save_code_backup: true |
| task_name: train |
| name: '' |
| tags: |
| - qmugs_bin0_qm9_perturbed_fock |
| - kin_plus_xc |
| - graphformer |
| validate_before_train: false |
| train: true |
| validate: false |
| denop_val: true |
| test: false |
| training_mode: null |
| run_path: null |
| ckpt_choice: null |
| seed: 1222233886 |
| git: |
| sha: c01e5b2146ee1f735f11096617c3d80b759fa98e |
| branch: main |
| is_dirty: false |
|
|