Skip to content

mod_train_loop_short_range

Lines: 446 | Visibility: private

Training routines for the short-range part of a HDNNP. author: Alexander Knoll

Dependencies

Uses

module~~mod_train_loop_short_range~~UsesGraph module~mod_train_loop_short_range mod_train_loop_short_range module~mod_abstract_charge_equilibration mod_abstract_charge_equilibration module~mod_train_loop_short_range->module~mod_abstract_charge_equilibration module~mod_abstract_electrostatics mod_abstract_electrostatics module~mod_train_loop_short_range->module~mod_abstract_electrostatics module~mod_abstract_property_model mod_abstract_property_model module~mod_train_loop_short_range->module~mod_abstract_property_model module~mod_abstractoptimizer mod_abstractoptimizer module~mod_train_loop_short_range->module~mod_abstractoptimizer module~mod_cost_calculator mod_cost_calculator module~mod_train_loop_short_range->module~mod_cost_calculator module~mod_cost_epoch mod_cost_epoch module~mod_train_loop_short_range->module~mod_cost_epoch module~mod_create_batches mod_create_batches module~mod_train_loop_short_range->module~mod_create_batches module~mod_cutoff_function mod_cutoff_function module~mod_train_loop_short_range->module~mod_cutoff_function module~mod_dataloader_file mod_dataloader_file module~mod_train_loop_short_range->module~mod_dataloader_file module~mod_dataset_storage mod_dataset_storage module~mod_train_loop_short_range->module~mod_dataset_storage module~mod_decorations mod_decorations module~mod_train_loop_short_range->module~mod_decorations module~mod_ee4g_feature_calculator mod_ee4g_feature_calculator module~mod_train_loop_short_range->module~mod_ee4g_feature_calculator module~mod_feature_calculator mod_feature_calculator module~mod_train_loop_short_range->module~mod_feature_calculator module~mod_get_max_num_output_properties mod_get_max_num_output_properties module~mod_train_loop_short_range->module~mod_get_max_num_output_properties module~mod_global_feature_calculator mod_global_feature_calculator module~mod_train_loop_short_range->module~mod_global_feature_calculator module~mod_global_feature_statistics mod_global_feature_statistics module~mod_train_loop_short_range->module~mod_global_feature_statistics module~mod_global_features_helper mod_global_features_helper module~mod_train_loop_short_range->module~mod_global_features_helper module~mod_initialize mod_initialize module~mod_train_loop_short_range->module~mod_initialize module~mod_io mod_io module~mod_train_loop_short_range->module~mod_io module~mod_loss_abstract mod_loss_abstract module~mod_train_loop_short_range->module~mod_loss_abstract module~mod_mpi mod_mpi module~mod_train_loop_short_range->module~mod_mpi module~mod_output_files_and_cost mod_output_files_and_cost module~mod_train_loop_short_range->module~mod_output_files_and_cost module~mod_output_files_and_cost_4g_short_range mod_output_files_and_cost_4g_short_range module~mod_train_loop_short_range->module~mod_output_files_and_cost_4g_short_range module~mod_periodic_table mod_periodic_table module~mod_train_loop_short_range->module~mod_periodic_table module~mod_precision mod_precision module~mod_train_loop_short_range->module~mod_precision module~mod_predict_ee4g_feature_calculator_multiple_structures mod_predict_ee4g_feature_calculator_multiple_structures module~mod_train_loop_short_range->module~mod_predict_ee4g_feature_calculator_multiple_structures module~mod_predict_qeq_feature_calculator_multiple_structures mod_predict_qeq_feature_calculator_multiple_structures module~mod_train_loop_short_range->module~mod_predict_qeq_feature_calculator_multiple_structures module~mod_qeq_feature_calculator mod_qeq_feature_calculator module~mod_train_loop_short_range->module~mod_qeq_feature_calculator module~mod_set_integer mod_set_integer module~mod_train_loop_short_range->module~mod_set_integer module~mod_settings mod_settings module~mod_train_loop_short_range->module~mod_settings module~mod_signal_handler mod_signal_handler module~mod_train_loop_short_range->module~mod_signal_handler module~mod_structures mod_structures module~mod_train_loop_short_range->module~mod_structures module~mod_throw mod_throw module~mod_train_loop_short_range->module~mod_throw module~mod_timer mod_timer module~mod_train_loop_short_range->module~mod_timer module~mod_train_energy_multiple_structures mod_train_energy_multiple_structures module~mod_train_loop_short_range->module~mod_train_energy_multiple_structures module~mod_train_forces_multiple_structures mod_train_forces_multiple_structures module~mod_train_loop_short_range->module~mod_train_forces_multiple_structures module~mod_train_helpers mod_train_helpers module~mod_train_loop_short_range->module~mod_train_helpers module~mod_abstract_charge_equilibration->module~mod_abstract_electrostatics module~mod_abstract_charge_equilibration->module~mod_periodic_table module~mod_abstract_charge_equilibration->module~mod_precision module~mod_abstract_charge_equilibration->module~mod_structures module~mod_abstract_electrostatics->module~mod_precision module~mod_abstract_electrostatics->module~mod_structures module~mod_abstract_property_model->module~mod_io module~mod_abstract_property_model->module~mod_precision module~mod_abstract_property_model->module~mod_settings module~mod_abstract_property_model->module~mod_throw module~mod_array_helpers mod_array_helpers module~mod_abstract_property_model->module~mod_array_helpers module~mod_initialize_array mod_initialize_array module~mod_abstract_property_model->module~mod_initialize_array module~mod_random mod_random module~mod_abstract_property_model->module~mod_random module~mod_abstractoptimizer->module~mod_io module~mod_abstractoptimizer->module~mod_loss_abstract module~mod_abstractoptimizer->module~mod_mpi module~mod_abstractoptimizer->module~mod_precision module~mod_abstractoptimizer->module~mod_settings module~mod_abstractoptimizer->module~mod_throw module~mod_global_warning mod_global_warning module~mod_abstractoptimizer->module~mod_global_warning module~mod_gradient_clipping mod_gradient_clipping module~mod_abstractoptimizer->module~mod_gradient_clipping module~mod_nan_check mod_nan_check module~mod_abstractoptimizer->module~mod_nan_check module~mod_cost_calculator->module~mod_abstract_property_model module~mod_cost_calculator->module~mod_cost_epoch module~mod_cost_calculator->module~mod_dataloader_file module~mod_cost_calculator->module~mod_dataset_storage module~mod_cost_calculator->module~mod_decorations module~mod_cost_calculator->module~mod_io module~mod_cost_calculator->module~mod_loss_abstract module~mod_cost_calculator->module~mod_mpi module~mod_cost_calculator->module~mod_periodic_table module~mod_cost_calculator->module~mod_precision module~mod_cost_calculator->module~mod_throw module~mod_cost_calculator->module~mod_timer module~mod_constants mod_constants module~mod_cost_calculator->module~mod_constants module~mod_dynamic_int_array mod_dynamic_int_array module~mod_cost_calculator->module~mod_dynamic_int_array module~mod_optional_args mod_optional_args module~mod_cost_calculator->module~mod_optional_args module~mod_path mod_path module~mod_cost_calculator->module~mod_path module~mod_write_outfiles_training mod_write_outfiles_training module~mod_cost_calculator->module~mod_write_outfiles_training module~mod_cost_epoch->module~mod_dataset_storage module~mod_cost_epoch->module~mod_decorations module~mod_cost_epoch->module~mod_io module~mod_cost_epoch->module~mod_loss_abstract module~mod_cost_epoch->module~mod_mpi module~mod_cost_epoch->module~mod_periodic_table module~mod_cost_epoch->module~mod_precision module~mod_cost_epoch->module~mod_set_integer module~mod_cost_epoch->module~mod_throw module~mod_cost_epoch->module~mod_timer ieee_arithmetic ieee_arithmetic module~mod_cost_epoch->ieee_arithmetic mod_property_list mod_property_list module~mod_cost_epoch->mod_property_list module~mod_committee_helper mod_committee_helper module~mod_cost_epoch->module~mod_committee_helper module~mod_create_batches->module~mod_mpi module~mod_create_batches->module~mod_periodic_table module~mod_create_batches->module~mod_precision module~mod_databatcher mod_databatcher module~mod_create_batches->module~mod_databatcher module~mod_cutoff_function->module~mod_io module~mod_cutoff_function->module~mod_precision module~mod_cutoff_function->module~mod_throw module~mod_abstract_cutoff_function mod_abstract_cutoff_function module~mod_cutoff_function->module~mod_abstract_cutoff_function module~mod_cutoff_function_cosine mod_cutoff_function_cosine module~mod_cutoff_function->module~mod_cutoff_function_cosine module~mod_cutoff_function_hard mod_cutoff_function_hard module~mod_cutoff_function->module~mod_cutoff_function_hard module~mod_cutoff_function_hypertangent mod_cutoff_function_hypertangent module~mod_cutoff_function->module~mod_cutoff_function_hypertangent module~mod_cutoff_function_hypertangent_approx mod_cutoff_function_hypertangent_approx module~mod_cutoff_function->module~mod_cutoff_function_hypertangent_approx module~mod_cutoff_function_null mod_cutoff_function_null module~mod_cutoff_function->module~mod_cutoff_function_null module~mod_cutoff_function_polynomial mod_cutoff_function_polynomial module~mod_cutoff_function->module~mod_cutoff_function_polynomial module~mod_cutoff_function_vdw mod_cutoff_function_vdw module~mod_cutoff_function->module~mod_cutoff_function_vdw module~mod_dataloader_file->module~mod_cutoff_function module~mod_dataloader_file->module~mod_feature_calculator module~mod_dataloader_file->module~mod_io module~mod_dataloader_file->module~mod_mpi module~mod_dataloader_file->module~mod_periodic_table module~mod_dataloader_file->module~mod_precision module~mod_dataloader_file->module~mod_structures module~mod_dataloader_file->module~mod_throw module~mod_abstract_structure_data_file mod_abstract_structure_data_file module~mod_dataloader_file->module~mod_abstract_structure_data_file module~mod_dataloader_file->module~mod_databatcher module~mod_feature_map_neighborlist mod_feature_map_neighborlist module~mod_dataloader_file->module~mod_feature_map_neighborlist module~mod_memory_estimation mod_memory_estimation module~mod_dataloader_file->module~mod_memory_estimation module~mod_dataloader_file->module~mod_optional_args module~mod_split_and_assign mod_split_and_assign module~mod_dataloader_file->module~mod_split_and_assign module~mod_dataset_storage->module~mod_mpi module~mod_dataset_storage->mod_property_list module~mod_sort mod_sort module~mod_dataset_storage->module~mod_sort module~mod_storage_container mod_storage_container module~mod_dataset_storage->module~mod_storage_container module~mod_decorations->module~mod_io module~mod_decorations->module~mod_precision module~mod_decorations->module~mod_throw module~mod_ee4g_feature_calculator->module~mod_global_feature_calculator module~mod_ee4g_feature_calculator->module~mod_io module~mod_ee4g_feature_calculator->module~mod_periodic_table module~mod_ee4g_feature_calculator->module~mod_precision module~mod_ee4g_feature_calculator->module~mod_settings module~mod_ee4g_feature_calculator->module~mod_structures module~mod_ee4g_feature_calculator->module~mod_throw module~mod_ee4g_feature_calculator->module~mod_constants module~mod_ee4g_feature_calculator->module~mod_feature_map_neighborlist module~mod_inputnn mod_inputnn module~mod_ee4g_feature_calculator->module~mod_inputnn module~mod_outer_product mod_outer_product module~mod_ee4g_feature_calculator->module~mod_outer_product module~mod_ee4g_feature_calculator->module~mod_path module~mod_ee4g_feature_calculator->module~mod_sort module~mod_feature_calculator->module~mod_cutoff_function module~mod_feature_calculator->module~mod_io module~mod_feature_calculator->module~mod_mpi module~mod_feature_calculator->module~mod_periodic_table module~mod_feature_calculator->module~mod_precision module~mod_feature_calculator->module~mod_set_integer module~mod_feature_calculator->module~mod_settings module~mod_feature_calculator->module~mod_structures module~mod_feature_calculator->module~mod_throw module~mod_feature_calculator->module~mod_timer module~mod_angular_symmetry_function_3 mod_angular_symmetry_function_3 module~mod_feature_calculator->module~mod_angular_symmetry_function_3 module~mod_angular_symmetry_function_8 mod_angular_symmetry_function_8 module~mod_feature_calculator->module~mod_angular_symmetry_function_8 module~mod_angular_symmetry_function_9 mod_angular_symmetry_function_9 module~mod_feature_calculator->module~mod_angular_symmetry_function_9 module~mod_feature_calculator->module~mod_array_helpers module~mod_atomic_descriptor mod_atomic_descriptor module~mod_feature_calculator->module~mod_atomic_descriptor module~mod_data_container mod_data_container module~mod_feature_calculator->module~mod_data_container module~mod_element mod_element module~mod_feature_calculator->module~mod_element module~mod_extrapolation_warning mod_extrapolation_warning module~mod_feature_calculator->module~mod_extrapolation_warning module~mod_feature_map mod_feature_map module~mod_feature_calculator->module~mod_feature_map module~mod_feature_calculator->module~mod_feature_map_neighborlist module~mod_feature_calculator->module~mod_optional_args module~mod_overlap_matrix mod_overlap_matrix module~mod_feature_calculator->module~mod_overlap_matrix module~mod_feature_calculator->module~mod_path module~mod_radial_symmetry_function_1 mod_radial_symmetry_function_1 module~mod_feature_calculator->module~mod_radial_symmetry_function_1 module~mod_radial_symmetry_function_2 mod_radial_symmetry_function_2 module~mod_feature_calculator->module~mod_radial_symmetry_function_2 module~mod_get_max_num_output_properties->module~mod_abstract_property_model module~mod_get_max_num_output_properties->module~mod_mpi module~mod_global_feature_calculator->module~mod_global_feature_statistics module~mod_global_feature_calculator->module~mod_io module~mod_global_feature_calculator->module~mod_periodic_table module~mod_global_feature_calculator->module~mod_precision module~mod_global_feature_calculator->module~mod_structures module~mod_global_feature_calculator->module~mod_throw module~mod_global_feature_calculator->module~mod_data_container module~mod_free mod_free module~mod_global_feature_calculator->module~mod_free module~mod_global_atomic_descriptor mod_global_atomic_descriptor module~mod_global_feature_calculator->module~mod_global_atomic_descriptor module~mod_global_feature_calculator->module~mod_optional_args module~mod_statistics_container mod_statistics_container module~mod_global_feature_calculator->module~mod_statistics_container module~mod_training_charge_equilibration mod_training_charge_equilibration module~mod_global_feature_calculator->module~mod_training_charge_equilibration module~mod_global_feature_statistics->module~mod_io module~mod_global_feature_statistics->module~mod_periodic_table module~mod_global_feature_statistics->module~mod_precision module~mod_global_feature_statistics->module~mod_throw module~mod_global_feature_statistics->module~mod_free module~mod_global_feature_statistics->module~mod_statistics_container module~mod_statisticsfile mod_statisticsfile module~mod_global_feature_statistics->module~mod_statisticsfile module~mod_global_features_helper->module~mod_feature_calculator module~mod_global_features_helper->module~mod_global_feature_calculator module~mod_global_features_helper->module~mod_global_feature_statistics module~mod_global_features_helper->module~mod_precision module~mod_global_features_helper->module~mod_structures module~mod_global_features_helper->module~mod_extrapolation_warning module~mod_initialize->module~mod_abstract_charge_equilibration module~mod_initialize->module~mod_abstract_electrostatics module~mod_initialize->module~mod_abstract_property_model module~mod_initialize->module~mod_abstractoptimizer module~mod_initialize->module~mod_cutoff_function module~mod_initialize->module~mod_dataset_storage module~mod_initialize->module~mod_ee4g_feature_calculator module~mod_initialize->module~mod_feature_calculator module~mod_initialize->module~mod_io module~mod_initialize->module~mod_mpi module~mod_initialize->module~mod_periodic_table module~mod_initialize->module~mod_qeq_feature_calculator module~mod_initialize->module~mod_set_integer module~mod_initialize->module~mod_settings module~mod_initialize->module~mod_throw module~mod_abstract_property_list mod_abstract_property_list module~mod_initialize->module~mod_abstract_property_list module~mod_initialize->module~mod_committee_helper module~mod_direct_charge_equilibration mod_direct_charge_equilibration module~mod_initialize->module~mod_direct_charge_equilibration module~mod_initialize->module~mod_dynamic_int_array module~mod_initialize->module~mod_element module~mod_elemental_property_model mod_elemental_property_model module~mod_initialize->module~mod_elemental_property_model module~mod_ewald_summation mod_ewald_summation module~mod_initialize->module~mod_ewald_summation module~mod_hdnn mod_hdnn module~mod_initialize->module~mod_hdnn module~mod_hirshfeld_vdw mod_hirshfeld_vdw module~mod_initialize->module~mod_hirshfeld_vdw module~mod_initialize->module~mod_inputnn module~mod_iterative_charge_equilibration_cg mod_iterative_charge_equilibration_cg module~mod_initialize->module~mod_iterative_charge_equilibration_cg module~mod_iterative_charge_equilibration_sqnm mod_iterative_charge_equilibration_sqnm module~mod_initialize->module~mod_iterative_charge_equilibration_sqnm module~mod_lossfunctions mod_lossfunctions module~mod_initialize->module~mod_lossfunctions module~mod_optimizers mod_optimizers module~mod_initialize->module~mod_optimizers module~mod_pair_electrostatics mod_pair_electrostatics module~mod_initialize->module~mod_pair_electrostatics module~mod_initialize->module~mod_path module~mod_pppm mod_pppm module~mod_initialize->module~mod_pppm module~mod_pw mod_pw module~mod_initialize->module~mod_pw module~mod_string mod_string module~mod_initialize->module~mod_string module~mod_two_body mod_two_body module~mod_initialize->module~mod_two_body module~mod_write_headers mod_write_headers module~mod_initialize->module~mod_write_headers module~mod_io->module~mod_precision iso_fortran_env iso_fortran_env module~mod_io->iso_fortran_env module~mod_io->module~mod_optional_args module~mod_loss_abstract->module~mod_mpi module~mod_loss_abstract->module~mod_precision module~mod_mpi->module~mod_precision mpi_f08 mpi_f08 module~mod_mpi->mpi_f08 module~mod_output_files_and_cost->module~mod_abstract_charge_equilibration module~mod_output_files_and_cost->module~mod_abstract_electrostatics module~mod_output_files_and_cost->module~mod_abstract_property_model module~mod_output_files_and_cost->module~mod_cost_calculator module~mod_output_files_and_cost->module~mod_cutoff_function module~mod_output_files_and_cost->module~mod_dataloader_file module~mod_output_files_and_cost->module~mod_dataset_storage module~mod_output_files_and_cost->module~mod_ee4g_feature_calculator module~mod_output_files_and_cost->module~mod_feature_calculator module~mod_output_files_and_cost->module~mod_global_feature_statistics module~mod_output_files_and_cost->module~mod_mpi module~mod_output_files_and_cost->module~mod_settings module~mod_output_files_and_cost->module~mod_timer module~mod_predict_multiple_structures mod_predict_multiple_structures module~mod_output_files_and_cost->module~mod_predict_multiple_structures module~mod_output_files_and_cost_4g_short_range->module~mod_abstract_property_model module~mod_output_files_and_cost_4g_short_range->module~mod_cost_calculator module~mod_output_files_and_cost_4g_short_range->module~mod_cutoff_function module~mod_output_files_and_cost_4g_short_range->module~mod_dataloader_file module~mod_output_files_and_cost_4g_short_range->module~mod_dataset_storage module~mod_output_files_and_cost_4g_short_range->module~mod_feature_calculator module~mod_output_files_and_cost_4g_short_range->module~mod_global_feature_calculator module~mod_output_files_and_cost_4g_short_range->module~mod_mpi module~mod_output_files_and_cost_4g_short_range->module~mod_predict_qeq_feature_calculator_multiple_structures module~mod_output_files_and_cost_4g_short_range->module~mod_settings module~mod_predict_4g_short_range_training_qeq_multiple_structures mod_predict_4g_short_range_training_qeq_multiple_structures module~mod_output_files_and_cost_4g_short_range->module~mod_predict_4g_short_range_training_qeq_multiple_structures module~mod_periodic_table->module~mod_io module~mod_periodic_table->module~mod_precision module~mod_periodic_table->module~mod_throw module~mod_periodic_table->module~mod_array_helpers module~mod_periodic_table->module~mod_constants iso_c_binding iso_c_binding module~mod_precision->iso_c_binding module~mod_precision->iso_fortran_env module~mod_predict_ee4g_feature_calculator_multiple_structures->module~mod_cutoff_function module~mod_predict_ee4g_feature_calculator_multiple_structures->module~mod_dataloader_file module~mod_predict_ee4g_feature_calculator_multiple_structures->module~mod_ee4g_feature_calculator module~mod_predict_ee4g_feature_calculator_multiple_structures->module~mod_feature_calculator module~mod_predict_ee4g_feature_calculator_multiple_structures->module~mod_mpi module~mod_predict_ee4g_feature_calculator_multiple_structures->module~mod_qeq_feature_calculator module~mod_predict_ee4g_feature_calculator_multiple_structures->module~mod_settings module~mod_predict_ee4g_feature_calculator_multiple_structures->module~mod_structures module~mod_predict_ee4g_feature_calculator_multiple_structures->module~mod_feature_map_neighborlist module~mod_predict_qeq_feature_calculator_multiple_structures->module~mod_abstract_property_model module~mod_predict_qeq_feature_calculator_multiple_structures->module~mod_dataloader_file module~mod_predict_qeq_feature_calculator_multiple_structures->module~mod_dataset_storage module~mod_predict_qeq_feature_calculator_multiple_structures->module~mod_feature_calculator module~mod_predict_qeq_feature_calculator_multiple_structures->module~mod_mpi module~mod_predict_qeq_feature_calculator_multiple_structures->module~mod_precision module~mod_predict_qeq_feature_calculator_multiple_structures->module~mod_qeq_feature_calculator module~mod_predict_qeq_feature_calculator_multiple_structures->module~mod_settings module~mod_predict_qeq_feature_calculator_multiple_structures->module~mod_structures module~mod_predict_qeq_feature_calculator_multiple_structures->module~mod_feature_map_neighborlist module~mod_predict_qeq_feature_calculator_multiple_structures->module~mod_optional_args module~mod_predict_qeq_feature_calculator_single_structure mod_predict_qeq_feature_calculator_single_structure module~mod_predict_qeq_feature_calculator_multiple_structures->module~mod_predict_qeq_feature_calculator_single_structure module~mod_structure_batch_iterator mod_structure_batch_iterator module~mod_predict_qeq_feature_calculator_multiple_structures->module~mod_structure_batch_iterator module~mod_qeq_feature_calculator->module~mod_global_feature_calculator module~mod_qeq_feature_calculator->module~mod_io module~mod_qeq_feature_calculator->module~mod_precision module~mod_qeq_feature_calculator->module~mod_settings module~mod_qeq_feature_calculator->module~mod_structures module~mod_qeq_feature_calculator->module~mod_throw module~mod_qeq_feature_calculator->module~mod_inputnn module~mod_qeq_feature_calculator->module~mod_path module~mod_qeq_feature_calculator->module~mod_training_charge_equilibration module~mod_set_integer->module~mod_throw module~mod_settings->module~mod_io module~mod_settings->module~mod_periodic_table module~mod_settings->module~mod_precision module~mod_settings->module~mod_throw module~mod_settings->module~mod_constants module~mod_cpu_vendor mod_cpu_vendor module~mod_settings->module~mod_cpu_vendor module~mod_signal_handler->module~mod_mpi module~mod_signal_handler->module~mod_throw module~mod_signal_handler->module~mod_timer module~mod_signal_handler->iso_c_binding module~mod_signal_handler->module~mod_global_warning module~mod_signal_handler->module~mod_write_headers module~mod_structures->module~mod_mpi module~mod_structures->module~mod_periodic_table module~mod_structures->module~mod_precision module~mod_structures->module~mod_throw module~mod_structures->module~mod_array_helpers module~mod_structures->module~mod_constants module~mod_linalg mod_linalg module~mod_structures->module~mod_linalg module~mod_structures_helper mod_structures_helper module~mod_structures->module~mod_structures_helper module~mod_throw->module~mod_io module~mod_throw->module~mod_mpi module~mod_throw->module~mod_precision module~mod_throw->iso_c_binding module~mod_throw->iso_fortran_env module~mod_throw->module~mod_sort module~mod_timer->module~mod_io module~mod_timer->module~mod_precision module~mod_timer->module~mod_throw module~mod_timer->ieee_arithmetic module~mod_timer->module~mod_optional_args module~mod_train_energy_multiple_structures->module~mod_abstract_property_model module~mod_train_energy_multiple_structures->module~mod_abstractoptimizer module~mod_train_energy_multiple_structures->module~mod_dataset_storage module~mod_train_energy_multiple_structures->module~mod_get_max_num_output_properties module~mod_train_energy_multiple_structures->module~mod_initialize module~mod_train_energy_multiple_structures->module~mod_loss_abstract module~mod_train_energy_multiple_structures->module~mod_mpi module~mod_train_energy_multiple_structures->module~mod_periodic_table module~mod_train_energy_multiple_structures->module~mod_precision module~mod_train_energy_multiple_structures->module~mod_settings module~mod_train_energy_multiple_structures->module~mod_structures module~mod_train_energy_multiple_structures->module~mod_throw module~mod_train_energy_multiple_structures->module~mod_timer module~mod_train_energy_multiple_structures->module~mod_train_helpers module~mod_forward_backward_batched mod_forward_backward_batched module~mod_train_energy_multiple_structures->module~mod_forward_backward_batched module~mod_forward_batched mod_forward_batched module~mod_train_energy_multiple_structures->module~mod_forward_batched module~mod_train_forces_multiple_structures->module~mod_abstract_property_model module~mod_train_forces_multiple_structures->module~mod_abstractoptimizer module~mod_train_forces_multiple_structures->module~mod_dataset_storage module~mod_train_forces_multiple_structures->module~mod_initialize module~mod_train_forces_multiple_structures->module~mod_loss_abstract module~mod_train_forces_multiple_structures->module~mod_mpi module~mod_train_forces_multiple_structures->module~mod_periodic_table module~mod_train_forces_multiple_structures->module~mod_precision module~mod_train_forces_multiple_structures->module~mod_settings module~mod_train_forces_multiple_structures->module~mod_structures module~mod_train_forces_multiple_structures->module~mod_throw module~mod_train_forces_multiple_structures->module~mod_timer module~mod_train_forces_multiple_structures->module~mod_train_energy_multiple_structures module~mod_train_forces_multiple_structures->module~mod_train_helpers module~mod_forward_backward_gradient_batched mod_forward_backward_gradient_batched module~mod_train_forces_multiple_structures->module~mod_forward_backward_gradient_batched module~mod_forward_gradient_batched mod_forward_gradient_batched module~mod_train_forces_multiple_structures->module~mod_forward_gradient_batched module~mod_train_helpers->module~mod_abstract_property_model module~mod_train_helpers->module~mod_abstractoptimizer module~mod_train_helpers->module~mod_decorations module~mod_train_helpers->module~mod_io module~mod_train_helpers->module~mod_loss_abstract module~mod_train_helpers->module~mod_mpi module~mod_train_helpers->module~mod_periodic_table module~mod_train_helpers->module~mod_precision module~mod_train_helpers->module~mod_settings module~mod_train_helpers->module~mod_throw module~mod_train_helpers->module~mod_global_warning module~mod_abstract_cutoff_function->module~mod_precision module~mod_abstract_property_list->module~mod_mpi module~mod_abstract_property_list->module~mod_throw module~mod_abstract_property_list->module~mod_dynamic_int_array module~mod_abstract_property_list->module~mod_optional_args module~mod_abstract_property_list->module~mod_string module~mod_dynamic_int_array_2d mod_dynamic_int_array_2d module~mod_abstract_property_list->module~mod_dynamic_int_array_2d module~mod_dynamic_string_array mod_dynamic_string_array module~mod_abstract_property_list->module~mod_dynamic_string_array module~mod_abstract_structure_data_file->module~mod_dataset_storage module~mod_abstract_structure_data_file->module~mod_mpi module~mod_abstract_structure_data_file->module~mod_periodic_table module~mod_abstract_structure_data_file->module~mod_structures module~mod_genericfile mod_genericfile module~mod_abstract_structure_data_file->module~mod_genericfile module~mod_angular_symmetry_function_3->module~mod_cutoff_function module~mod_angular_symmetry_function_3->module~mod_periodic_table module~mod_angular_symmetry_function_3->module~mod_precision module~mod_angular_symmetry_function_3->module~mod_structures module~mod_angular_symmetry_function_3->module~mod_throw module~mod_angular_symmetry_function_3->module~mod_constants module~mod_angular_symmetry_function_3->module~mod_feature_map module~mod_angular_symmetry_function_3->module~mod_feature_map_neighborlist module~mod_abstract_angular_symmetry_function mod_abstract_angular_symmetry_function module~mod_angular_symmetry_function_3->module~mod_abstract_angular_symmetry_function module~mod_abstract_symmetry_function mod_abstract_symmetry_function module~mod_angular_symmetry_function_3->module~mod_abstract_symmetry_function module~mod_fastmath mod_fastmath module~mod_angular_symmetry_function_3->module~mod_fastmath module~mod_hash mod_hash module~mod_angular_symmetry_function_3->module~mod_hash module~mod_angular_symmetry_function_8->module~mod_cutoff_function module~mod_angular_symmetry_function_8->module~mod_periodic_table module~mod_angular_symmetry_function_8->module~mod_precision module~mod_angular_symmetry_function_8->module~mod_structures module~mod_angular_symmetry_function_8->module~mod_throw module~mod_angular_symmetry_function_8->module~mod_constants module~mod_angular_symmetry_function_8->module~mod_feature_map module~mod_angular_symmetry_function_8->module~mod_feature_map_neighborlist module~mod_angular_symmetry_function_8->module~mod_abstract_angular_symmetry_function module~mod_angular_symmetry_function_8->module~mod_abstract_symmetry_function module~mod_angular_symmetry_function_8->module~mod_hash module~mod_angular_symmetry_function_9->module~mod_cutoff_function module~mod_angular_symmetry_function_9->module~mod_periodic_table module~mod_angular_symmetry_function_9->module~mod_precision module~mod_angular_symmetry_function_9->module~mod_structures module~mod_angular_symmetry_function_9->module~mod_throw module~mod_angular_symmetry_function_9->module~mod_constants module~mod_angular_symmetry_function_9->module~mod_feature_map module~mod_angular_symmetry_function_9->module~mod_feature_map_neighborlist module~mod_angular_symmetry_function_9->module~mod_abstract_angular_symmetry_function module~mod_angular_symmetry_function_9->module~mod_abstract_symmetry_function module~mod_angular_symmetry_function_9->module~mod_fastmath module~mod_angular_symmetry_function_9->module~mod_hash module~mod_array_helpers->module~mod_precision module~mod_array_helpers->module~mod_throw module~mod_atomic_descriptor->module~mod_precision module~mod_atomic_descriptor->module~mod_structures module~mod_atomic_descriptor->module~mod_element module~mod_committee_helper->module~mod_io module~mod_committee_helper->module~mod_settings module~mod_constants->module~mod_precision module~mod_constants->iso_c_binding module~mod_cpu_vendor->iso_c_binding module~mod_cutoff_function_cosine->module~mod_precision module~mod_cutoff_function_cosine->module~mod_abstract_cutoff_function module~mod_cutoff_function_cosine->module~mod_constants module~mod_cutoff_function_hard->module~mod_precision module~mod_cutoff_function_hard->module~mod_abstract_cutoff_function module~mod_cutoff_function_hypertangent->module~mod_precision module~mod_cutoff_function_hypertangent->module~mod_abstract_cutoff_function module~mod_cutoff_function_hypertangent_approx->module~mod_precision module~mod_cutoff_function_hypertangent_approx->module~mod_abstract_cutoff_function module~mod_cutoff_function_null->module~mod_precision module~mod_cutoff_function_null->module~mod_throw module~mod_cutoff_function_null->module~mod_abstract_cutoff_function module~mod_cutoff_function_polynomial->module~mod_precision module~mod_cutoff_function_polynomial->module~mod_abstract_cutoff_function module~mod_cutoff_function_polynomial->module~mod_fastmath module~mod_cutoff_function_vdw->module~mod_precision module~mod_cutoff_function_vdw->module~mod_abstract_cutoff_function module~mod_data_container->module~mod_io module~mod_data_container->module~mod_precision module~mod_data_container->module~mod_throw module~mod_databatcher->module~mod_mpi module~mod_databatcher->module~mod_precision module~mod_databatcher->module~mod_throw module~mod_databatcher->module~mod_array_helpers module~mod_databatcher->module~mod_random module~mod_direct_charge_equilibration->module~mod_abstract_charge_equilibration module~mod_direct_charge_equilibration->module~mod_abstract_electrostatics module~mod_direct_charge_equilibration->module~mod_precision module~mod_direct_charge_equilibration->module~mod_linalg module~mod_element->module~mod_cutoff_function module~mod_element->module~mod_decorations module~mod_element->module~mod_io module~mod_element->module~mod_mpi module~mod_element->module~mod_periodic_table module~mod_element->module~mod_precision module~mod_element->module~mod_set_integer module~mod_element->module~mod_throw module~mod_element->module~mod_angular_symmetry_function_3 module~mod_element->module~mod_angular_symmetry_function_9 module~mod_element->module~mod_constants module~mod_element->module~mod_feature_map module~mod_element->module~mod_optional_args module~mod_element->module~mod_radial_symmetry_function_2 module~mod_arrays_init mod_arrays_init module~mod_element->module~mod_arrays_init module~mod_dubious_feature_map_handler mod_dubious_feature_map_handler module~mod_element->module~mod_dubious_feature_map_handler module~mod_element->module~mod_hash module~mod_set_character mod_set_character module~mod_element->module~mod_set_character module~mod_elemental_property_model->module~mod_abstract_property_model module~mod_elemental_property_model->module~mod_decorations module~mod_elemental_property_model->module~mod_io module~mod_elemental_property_model->module~mod_periodic_table module~mod_elemental_property_model->module~mod_precision module~mod_elemental_property_model->module~mod_throw module~mod_elemental_property_model->module~mod_array_helpers module~mod_elemental_property_model->module~mod_initialize_array module~mod_elemental_property_model->module~mod_random module~mod_activationfunctions mod_activationfunctions module~mod_elemental_property_model->module~mod_activationfunctions module~mod_ewald_summation->module~mod_abstract_electrostatics module~mod_ewald_summation->module~mod_precision module~mod_ewald_summation->module~mod_constants module~mod_ewald_summation->module~mod_linalg module~mod_ewald_summation->module~mod_outer_product module~mod_ewald_summation->module~mod_pair_electrostatics module~mod_neighbor_grid mod_neighbor_grid module~mod_ewald_summation->module~mod_neighbor_grid module~mod_neighborlist_helper mod_neighborlist_helper module~mod_ewald_summation->module~mod_neighborlist_helper module~mod_extrapolation_warning->module~mod_periodic_table module~mod_extrapolation_warning->module~mod_precision module~mod_extrapolation_warning->module~mod_throw module~mod_extrapolation_warning->iso_c_binding module~mod_abstract_warning mod_abstract_warning module~mod_extrapolation_warning->module~mod_abstract_warning module~mod_feature_map->module~mod_cutoff_function module~mod_feature_map->module~mod_io module~mod_feature_map->module~mod_precision module~mod_feature_map->module~mod_structures module~mod_feature_map->module~mod_throw module~mod_feature_map->module~mod_feature_map_neighborlist module~mod_feature_map->module~mod_hash module~mod_sanitize mod_sanitize module~mod_feature_map->module~mod_sanitize module~mod_feature_map_neighborlist->module~mod_io module~mod_feature_map_neighborlist->module~mod_mpi module~mod_feature_map_neighborlist->module~mod_precision module~mod_feature_map_neighborlist->module~mod_structures module~mod_feature_map_neighborlist->module~mod_throw module~mod_feature_map_neighborlist->module~mod_timer module~mod_feature_map_neighborlist->module~mod_abstract_cutoff_function module~mod_feature_map_neighborlist->module~mod_constants module~mod_neighborlist mod_neighborlist module~mod_feature_map_neighborlist->module~mod_neighborlist module~mod_forward_backward_batched->module~mod_abstract_property_model module~mod_forward_backward_batched->module~mod_mpi module~mod_forward_backward_batched->module~mod_periodic_table module~mod_forward_backward_batched->module~mod_precision module~mod_forward_backward_batched->module~mod_throw module~mod_forward_backward_batched->module~mod_databatcher module~mod_forward_backward_gradient_batched->module~mod_abstract_property_model module~mod_forward_backward_gradient_batched->module~mod_mpi module~mod_forward_backward_gradient_batched->module~mod_periodic_table module~mod_forward_backward_gradient_batched->module~mod_precision module~mod_forward_backward_gradient_batched->module~mod_throw module~mod_forward_backward_gradient_batched->module~mod_databatcher module~mod_forward_batched->module~mod_abstract_property_model module~mod_forward_batched->module~mod_mpi module~mod_forward_batched->module~mod_periodic_table module~mod_forward_batched->module~mod_precision module~mod_forward_batched->module~mod_throw module~mod_forward_batched->module~mod_databatcher module~mod_forward_gradient_batched->module~mod_abstract_property_model module~mod_forward_gradient_batched->module~mod_mpi module~mod_forward_gradient_batched->module~mod_periodic_table module~mod_forward_gradient_batched->module~mod_precision module~mod_forward_gradient_batched->module~mod_databatcher module~mod_free->module~mod_precision module~mod_global_atomic_descriptor->module~mod_precision module~mod_global_atomic_descriptor->module~mod_optional_args module~mod_global_warning->module~mod_io module~mod_global_warning->module~mod_throw module~mod_global_warning->module~mod_abstract_warning module~mod_gradient_clipping->module~mod_precision module~mod_gradient_clipping->module~mod_settings module~mod_hdnn->module~mod_abstract_property_model module~mod_hdnn->module~mod_decorations module~mod_hdnn->module~mod_io module~mod_hdnn->module~mod_periodic_table module~mod_hdnn->module~mod_precision module~mod_hdnn->module~mod_settings module~mod_hdnn->module~mod_throw module~mod_hdnn->module~mod_array_helpers module~mod_hdnn->module~mod_global_warning module~mod_hdnn->module~mod_initialize_array module~mod_hdnn->module~mod_random module~mod_neural_network mod_neural_network module~mod_hdnn->module~mod_neural_network module~mod_hirshfeld_vdw->module~mod_io module~mod_hirshfeld_vdw->module~mod_mpi module~mod_hirshfeld_vdw->module~mod_periodic_table module~mod_hirshfeld_vdw->module~mod_precision module~mod_hirshfeld_vdw->module~mod_throw module~mod_hirshfeld_vdw->module~mod_feature_map_neighborlist module~mod_initialize_array->module~mod_io module~mod_initialize_array->module~mod_mpi module~mod_initialize_array->module~mod_precision module~mod_initialize_array->module~mod_throw module~mod_initialize_array->module~mod_random module~mod_parameter_file mod_parameter_file module~mod_initialize_array->module~mod_parameter_file module~mod_inputnn->module~mod_io module~mod_inputnn->module~mod_mpi module~mod_inputnn->module~mod_throw module~mod_abstract_broadcast_file mod_abstract_broadcast_file module~mod_inputnn->module~mod_abstract_broadcast_file module~mod_iterative_charge_equilibration_cg->module~mod_precision module~mod_abstract_iterative_charge_equilibration mod_abstract_iterative_charge_equilibration module~mod_iterative_charge_equilibration_cg->module~mod_abstract_iterative_charge_equilibration module~mod_iterative_charge_equilibration_sqnm->module~mod_precision module~mod_iterative_charge_equilibration_sqnm->module~mod_abstract_iterative_charge_equilibration module~sqnm sqnm module~mod_iterative_charge_equilibration_sqnm->module~sqnm module~mod_linalg->module~mod_precision module~mod_linalg->module~mod_settings module~mod_linalg->module~mod_throw module~cublas_wrapper cublas_wrapper module~mod_linalg->module~cublas_wrapper module~mod_lossfunctions->module~mod_io module~mod_lossfunctions->module~mod_loss_abstract module~mod_lossfunctions->module~mod_throw module~mod_loss_mae mod_loss_mae module~mod_lossfunctions->module~mod_loss_mae module~mod_loss_mse mod_loss_mse module~mod_lossfunctions->module~mod_loss_mse module~mod_loss_mse_torch mod_loss_mse_torch module~mod_lossfunctions->module~mod_loss_mse_torch module~mod_loss_rmse mod_loss_rmse module~mod_lossfunctions->module~mod_loss_rmse module~mod_memory_estimation->module~mod_feature_calculator module~mod_memory_estimation->module~mod_io module~mod_memory_estimation->module~mod_mpi module~mod_memory_estimation->module~mod_periodic_table module~mod_memory_estimation->module~mod_precision module~mod_memory_estimation->module~mod_settings module~mod_memory_estimation->module~mod_structures module~mod_memory_estimation->module~mod_throw module~mod_memory_estimation->module~mod_feature_map_neighborlist module~mod_table mod_table module~mod_memory_estimation->module~mod_table module~mod_nan_check->module~mod_io module~mod_nan_check->module~mod_precision module~mod_nan_check->module~mod_throw module~mod_nan_check->ieee_arithmetic module~mod_optimizers->module~mod_abstractoptimizer module~mod_optimizers->module~mod_io module~mod_optimizers->module~mod_throw module~mod_adam mod_adam module~mod_optimizers->module~mod_adam module~mod_gradient_descent mod_gradient_descent module~mod_optimizers->module~mod_gradient_descent module~mod_kalman_filter mod_kalman_filter module~mod_optimizers->module~mod_kalman_filter module~mod_kalman_filter_std mod_kalman_filter_std module~mod_optimizers->module~mod_kalman_filter_std module~mod_nada_opt mod_nada_opt module~mod_optimizers->module~mod_nada_opt module~mod_stochastic_gradient_descent mod_stochastic_gradient_descent module~mod_optimizers->module~mod_stochastic_gradient_descent module~mod_outer_product->module~mod_precision module~mod_outer_product->module~mod_linalg module~mod_overlap_matrix->module~mod_cutoff_function module~mod_overlap_matrix->module~mod_precision module~mod_overlap_matrix->module~mod_structures module~mod_overlap_matrix->module~mod_feature_map module~mod_overlap_matrix->module~mod_feature_map_neighborlist module~mod_pair_electrostatics->module~mod_abstract_electrostatics module~mod_pair_electrostatics->module~mod_precision module~mod_pair_electrostatics->module~mod_throw module~mod_pair_electrostatics->module~mod_constants module~mod_path->module~mod_io module~mod_pppm->module~mod_abstract_electrostatics module~mod_pppm->module~mod_precision module~mod_pppm->module~mod_throw module~mod_pppm->module~mod_ewald_summation module~mod_pppm->module~mod_linalg module~mod_pppm->module~mod_outer_product module~mod_pppm->module~mod_pair_electrostatics module~mod_pppm->module~mod_pw module~mod_pppm->module~mod_neighbor_grid module~mod_predict_4g_short_range_training_qeq_multiple_structures->module~mod_abstract_property_model module~mod_predict_4g_short_range_training_qeq_multiple_structures->module~mod_dataset_storage module~mod_predict_4g_short_range_training_qeq_multiple_structures->module~mod_feature_calculator module~mod_predict_4g_short_range_training_qeq_multiple_structures->module~mod_global_feature_calculator module~mod_predict_4g_short_range_training_qeq_multiple_structures->module~mod_global_features_helper module~mod_predict_4g_short_range_training_qeq_multiple_structures->module~mod_mpi module~mod_predict_4g_short_range_training_qeq_multiple_structures->module~mod_precision module~mod_predict_4g_short_range_training_qeq_multiple_structures->module~mod_settings module~mod_predict_4g_short_range_training_qeq_multiple_structures->module~mod_structures module~mod_predict_4g_short_range_training_qeq_multiple_structures->module~mod_throw module~mod_predict_4g_short_range_training_qeq_multiple_structures->module~mod_databatcher module~mod_predict_4g_short_range_training_qeq_multiple_structures->module~mod_feature_map_neighborlist module~mod_predict_4g_short_range_training_qeq_multiple_structures->module~mod_structure_batch_iterator module~mod_predict_4g_short_range_training_qeq_single_structure mod_predict_4g_short_range_training_qeq_single_structure module~mod_predict_4g_short_range_training_qeq_multiple_structures->module~mod_predict_4g_short_range_training_qeq_single_structure module~mod_predict_multiple_structures->module~mod_abstract_charge_equilibration module~mod_predict_multiple_structures->module~mod_abstract_electrostatics module~mod_predict_multiple_structures->module~mod_abstract_property_model module~mod_predict_multiple_structures->module~mod_dataset_storage module~mod_predict_multiple_structures->module~mod_ee4g_feature_calculator module~mod_predict_multiple_structures->module~mod_feature_calculator module~mod_predict_multiple_structures->module~mod_global_feature_statistics module~mod_predict_multiple_structures->module~mod_io module~mod_predict_multiple_structures->module~mod_mpi module~mod_predict_multiple_structures->module~mod_set_integer module~mod_predict_multiple_structures->module~mod_settings module~mod_predict_multiple_structures->module~mod_structures module~mod_predict_multiple_structures->module~mod_throw module~mod_predict_multiple_structures->module~mod_timer module~mod_predict_multiple_structures->module~mod_databatcher module~mod_predict_multiple_structures->module~mod_extrapolation_warning module~mod_predict_multiple_structures->module~mod_feature_map_neighborlist module~mod_predict_multiple_structures->module~mod_hirshfeld_vdw module~mod_predict_multiple_structures->module~mod_pair_electrostatics module~mod_predict_multiple_structures->module~mod_structure_batch_iterator module~mod_predict_multiple_structures->module~mod_two_body module~mod_post_processing_wrapper_single_structure mod_post_processing_wrapper_single_structure module~mod_predict_multiple_structures->module~mod_post_processing_wrapper_single_structure module~mod_store_atomic_property_single_structure mod_store_atomic_property_single_structure module~mod_predict_multiple_structures->module~mod_store_atomic_property_single_structure module~mod_predict_qeq_feature_calculator_single_structure->module~mod_feature_calculator module~mod_predict_qeq_feature_calculator_single_structure->module~mod_mpi module~mod_predict_qeq_feature_calculator_single_structure->module~mod_precision module~mod_predict_qeq_feature_calculator_single_structure->module~mod_qeq_feature_calculator module~mod_predict_qeq_feature_calculator_single_structure->module~mod_settings module~mod_predict_qeq_feature_calculator_single_structure->module~mod_structures module~mod_predict_qeq_feature_calculator_single_structure->module~mod_feature_map_neighborlist module~mod_predict_qeq_feature_calculator_single_structure->module~mod_training_charge_equilibration module~mod_calc_screening mod_calc_screening module~mod_predict_qeq_feature_calculator_single_structure->module~mod_calc_screening module~mod_chain mod_chain module~mod_predict_qeq_feature_calculator_single_structure->module~mod_chain module~mod_chain_features mod_chain_features module~mod_predict_qeq_feature_calculator_single_structure->module~mod_chain_features module~mod_pw->module~mod_abstract_electrostatics module~mod_pw->module~mod_precision module~mod_pw->module~mod_throw module~mod_fft_potential mod_fft_potential module~mod_pw->module~mod_fft_potential module~mod_radial_symmetry_function_1->module~mod_cutoff_function module~mod_radial_symmetry_function_1->module~mod_io module~mod_radial_symmetry_function_1->module~mod_periodic_table module~mod_radial_symmetry_function_1->module~mod_precision module~mod_radial_symmetry_function_1->module~mod_structures module~mod_radial_symmetry_function_1->module~mod_throw module~mod_radial_symmetry_function_1->module~mod_feature_map module~mod_radial_symmetry_function_1->module~mod_feature_map_neighborlist module~mod_abstract_radial_symmetry_function mod_abstract_radial_symmetry_function module~mod_radial_symmetry_function_1->module~mod_abstract_radial_symmetry_function module~mod_radial_symmetry_function_1->module~mod_hash module~mod_radial_symmetry_function_2->module~mod_cutoff_function module~mod_radial_symmetry_function_2->module~mod_periodic_table module~mod_radial_symmetry_function_2->module~mod_precision module~mod_radial_symmetry_function_2->module~mod_structures module~mod_radial_symmetry_function_2->module~mod_throw module~mod_radial_symmetry_function_2->module~mod_feature_map module~mod_radial_symmetry_function_2->module~mod_feature_map_neighborlist module~mod_radial_symmetry_function_2->module~mod_abstract_radial_symmetry_function module~mod_radial_symmetry_function_2->module~mod_abstract_symmetry_function module~mod_radial_symmetry_function_2->module~mod_hash module~mod_random->module~mod_precision module~mod_random->module~mod_constants module~mod_sort->module~mod_precision module~mod_split_and_assign->module~mod_mpi module~mod_split_and_assign->module~mod_precision module~mod_split_and_assign->module~mod_throw module~mod_statistics_container->module~mod_io module~mod_statistics_container->module~mod_mpi module~mod_statistics_container->module~mod_periodic_table module~mod_statistics_container->module~mod_precision module~mod_statistics_container->module~mod_throw module~mod_statistics_container->module~mod_constants module~mod_statistics_container->module~mod_table module~mod_statisticsfile->module~mod_mpi module~mod_statisticsfile->module~mod_statistics_container module~mod_statisticsfile->module~mod_abstract_broadcast_file module~mod_storage_container->module~mod_io module~mod_storage_container->module~mod_mpi module~mod_storage_container->mod_property_list module~mod_storage_container->module~mod_abstract_property_list module~mod_storage_container->module~mod_dynamic_int_array module~mod_storage_container->module~mod_sort module~mod_storage_container->module~mod_string module~mod_string->module~mod_precision module~mod_structure_batch_iterator->module~mod_abstract_property_model module~mod_structure_batch_iterator->module~mod_feature_calculator module~mod_structure_batch_iterator->module~mod_get_max_num_output_properties module~mod_structure_batch_iterator->module~mod_global_feature_calculator module~mod_structure_batch_iterator->module~mod_global_features_helper module~mod_structure_batch_iterator->module~mod_mpi module~mod_structure_batch_iterator->module~mod_precision module~mod_structure_batch_iterator->module~mod_settings module~mod_structure_batch_iterator->module~mod_structures module~mod_structure_batch_iterator->module~mod_throw module~mod_structure_batch_iterator->module~mod_databatcher module~mod_structure_batch_iterator->module~mod_feature_map_neighborlist module~mod_structure_batch_iterator->module~mod_optional_args module~mod_calc_atomic_properties mod_calc_atomic_properties module~mod_structure_batch_iterator->module~mod_calc_atomic_properties module~mod_structures_helper->module~mod_precision module~mod_structures_helper->module~mod_linalg module~mod_training_charge_equilibration->module~mod_abstract_electrostatics module~mod_training_charge_equilibration->module~mod_precision module~mod_training_charge_equilibration->module~mod_structures module~mod_training_charge_equilibration->module~mod_data_container module~mod_training_charge_equilibration->module~mod_ewald_summation module~mod_training_charge_equilibration->module~mod_linalg module~mod_training_charge_equilibration->module~mod_optional_args module~mod_training_charge_equilibration->module~mod_pair_electrostatics module~mod_cross_matrix mod_cross_matrix module~mod_training_charge_equilibration->module~mod_cross_matrix module~mod_two_body->module~mod_cutoff_function module~mod_two_body->module~mod_dataloader_file module~mod_two_body->module~mod_dataset_storage module~mod_two_body->module~mod_io module~mod_two_body->module~mod_periodic_table module~mod_two_body->module~mod_precision module~mod_two_body->module~mod_settings module~mod_two_body->module~mod_structures module~mod_two_body->module~mod_throw module~mod_two_body->module~mod_feature_map_neighborlist module~mod_write_headers->module~mod_abstract_property_model module~mod_write_headers->module~mod_abstractoptimizer module~mod_write_headers->module~mod_decorations module~mod_write_headers->module~mod_io module~mod_write_headers->module~mod_mpi module~mod_write_headers->module~mod_settings module~mod_write_headers->module~mod_throw module~mod_write_headers->module~mod_timer module~mod_git_info mod_git_info module~mod_write_headers->module~mod_git_info module~mod_version mod_version module~mod_write_headers->module~mod_version module~mod_write_outfiles_training->module~mod_abstract_property_model module~mod_write_outfiles_training->module~mod_cost_epoch module~mod_write_outfiles_training->module~mod_dataset_storage module~mod_write_outfiles_training->module~mod_io module~mod_write_outfiles_training->module~mod_mpi module~mod_write_outfiles_training->module~mod_settings module~mod_write_outfiles_training->module~mod_path module~mod_write_outfiles_training->module~mod_sort module~mod_write_outfiles_training->module~mod_genericfile module~mod_write_outfiles mod_write_outfiles module~mod_write_outfiles_training->module~mod_write_outfiles module~cublas_wrapper->module~mod_settings module~cublas_wrapper->iso_c_binding module~mod_abstract_angular_symmetry_function->module~mod_periodic_table module~mod_abstract_angular_symmetry_function->module~mod_precision module~mod_abstract_angular_symmetry_function->module~mod_structures module~mod_abstract_angular_symmetry_function->module~mod_feature_map_neighborlist module~mod_abstract_angular_symmetry_function->module~mod_abstract_symmetry_function module~mod_abstract_broadcast_file->module~mod_io module~mod_abstract_broadcast_file->module~mod_mpi module~mod_abstract_broadcast_file->module~mod_throw module~mod_abstract_broadcast_file->module~mod_genericfile module~mod_abstract_broadcast_file->module~mod_sanitize module~mod_abstract_iterative_charge_equilibration->module~mod_abstract_charge_equilibration module~mod_abstract_iterative_charge_equilibration->module~mod_abstract_electrostatics module~mod_abstract_iterative_charge_equilibration->module~mod_io module~mod_abstract_iterative_charge_equilibration->module~mod_precision module~mod_abstract_iterative_charge_equilibration->module~mod_throw module~mod_abstract_iterative_charge_equilibration->module~mod_pair_electrostatics module~mod_abstract_radial_symmetry_function->module~mod_precision module~mod_abstract_radial_symmetry_function->module~mod_structures module~mod_abstract_radial_symmetry_function->module~mod_feature_map_neighborlist module~mod_abstract_radial_symmetry_function->module~mod_abstract_symmetry_function module~mod_abstract_symmetry_function->module~mod_io module~mod_abstract_symmetry_function->module~mod_precision module~mod_abstract_symmetry_function->module~mod_structures module~mod_abstract_symmetry_function->module~mod_throw module~mod_abstract_symmetry_function->module~mod_feature_map module~mod_abstract_symmetry_function->module~mod_feature_map_neighborlist module~mod_electric_field_prefactor mod_electric_field_prefactor module~mod_abstract_symmetry_function->module~mod_electric_field_prefactor module~mod_spin_prefactor mod_spin_prefactor module~mod_abstract_symmetry_function->module~mod_spin_prefactor module~mod_activationfunctions->module~mod_throw module~mod_activationfunction_abstract mod_activationfunction_abstract module~mod_activationfunctions->module~mod_activationfunction_abstract module~mod_activationfunction_linear mod_activationfunction_linear module~mod_activationfunctions->module~mod_activationfunction_linear module~mod_activationfunction_relu mod_activationfunction_relu module~mod_activationfunctions->module~mod_activationfunction_relu module~mod_activationfunction_sigmoid mod_activationfunction_sigmoid module~mod_activationfunctions->module~mod_activationfunction_sigmoid module~mod_activationfunction_softplus mod_activationfunction_softplus module~mod_activationfunctions->module~mod_activationfunction_softplus module~mod_activationfunction_square mod_activationfunction_square module~mod_activationfunctions->module~mod_activationfunction_square module~mod_activationfunction_stanh mod_activationfunction_stanh module~mod_activationfunctions->module~mod_activationfunction_stanh module~mod_activationfunction_tanh mod_activationfunction_tanh module~mod_activationfunctions->module~mod_activationfunction_tanh module~mod_adam->module~mod_abstractoptimizer module~mod_adam->module~mod_decorations module~mod_adam->module~mod_io module~mod_adam->module~mod_precision module~mod_adam->module~mod_throw module~mod_adam->module~mod_lossfunctions module~mod_adam->module~mod_loss_mse module~mod_learning_rate mod_learning_rate module~mod_adam->module~mod_learning_rate module~mod_arrays_init->module~mod_precision module~mod_calc_atomic_properties->module~mod_abstract_property_model module~mod_calc_atomic_properties->module~mod_feature_calculator module~mod_calc_atomic_properties->module~mod_mpi module~mod_calc_atomic_properties->module~mod_periodic_table module~mod_calc_atomic_properties->module~mod_precision module~mod_calc_atomic_properties->module~mod_set_integer module~mod_calc_atomic_properties->module~mod_throw module~mod_calc_atomic_properties->module~mod_timer module~mod_calc_atomic_properties->module~mod_feature_map_neighborlist module~mod_calc_atomic_properties->module~mod_forward_batched module~mod_calc_screening->module~mod_precision module~mod_calc_screening->module~mod_structures module~mod_calc_screening->module~mod_constants module~mod_calc_screening->module~mod_feature_map_neighborlist module~mod_chain->module~mod_precision module~mod_chain_features->module~mod_feature_calculator module~mod_chain_features->module~mod_precision module~mod_chain_features->module~mod_feature_map_neighborlist module~mod_cross_matrix->module~mod_precision module~mod_cross_matrix->module~mod_linalg module~mod_dubious_feature_map_handler->module~mod_decorations module~mod_dubious_feature_map_handler->module~mod_io module~mod_dubious_feature_map_handler->module~mod_precision module~mod_dubious_feature_map_handler->module~mod_throw module~mod_dubious_feature_map_handler->module~mod_dynamic_int_array module~mod_dynamic_double_array mod_dynamic_double_array module~mod_dubious_feature_map_handler->module~mod_dynamic_double_array module~mod_dynamic_line_array mod_dynamic_line_array module~mod_dubious_feature_map_handler->module~mod_dynamic_line_array module~mod_dynamic_int_array_2d->module~mod_mpi module~mod_dynamic_string_array->module~mod_string module~mod_fastmath->module~mod_precision module~mod_fft_potential->module~mod_precision module~mod_fft_potential->module~mod_throw module~mod_fft_potential->iso_c_binding module~mod_fft_potential->module~mod_constants module~mod_fft_potential->module~mod_linalg module~mod_fft_potential->module~mod_structures_helper module~mod_fft_potential->module~mod_neighborlist_helper module~mod_fft mod_fft module~mod_fft_potential->module~mod_fft module~mod_genericfile->module~mod_io module~mod_genericfile->module~mod_mpi module~mod_genericfile->module~mod_throw module~mod_gradient_descent->module~mod_abstractoptimizer module~mod_gradient_descent->module~mod_decorations module~mod_gradient_descent->module~mod_io module~mod_gradient_descent->module~mod_precision module~mod_gradient_descent->module~mod_throw module~mod_gradient_descent->module~mod_lossfunctions module~mod_gradient_descent->module~mod_loss_mse module~mod_gradient_descent->module~mod_learning_rate module~mod_hash->module~mod_io module~mod_hash->module~mod_periodic_table module~mod_hash->module~mod_precision module~mod_kalman_filter->module~mod_abstractoptimizer module~mod_kalman_filter->module~mod_io module~mod_kalman_filter->module~mod_mpi module~mod_kalman_filter->module~mod_precision module~mod_kalman_filter->module~mod_throw module~mod_abstract_kalman_filter mod_abstract_kalman_filter module~mod_kalman_filter->module~mod_abstract_kalman_filter module~mod_kalman_filter_std->module~mod_abstractoptimizer module~mod_kalman_filter_std->module~mod_io module~mod_kalman_filter_std->module~mod_mpi module~mod_kalman_filter_std->module~mod_precision module~mod_kalman_filter_std->module~mod_throw module~mod_kalman_filter_std->module~mod_abstract_kalman_filter module~mod_parse_logical_keyword mod_parse_logical_keyword module~mod_kalman_filter_std->module~mod_parse_logical_keyword module~mod_loss_mae->module~mod_loss_abstract module~mod_loss_mae->module~mod_precision module~mod_loss_mse->module~mod_loss_abstract module~mod_loss_mse->module~mod_precision module~mod_loss_mse_torch->module~mod_loss_abstract module~mod_loss_mse_torch->module~mod_precision module~mod_loss_rmse->module~mod_loss_abstract module~mod_loss_rmse->module~mod_precision module~mod_nada_opt->module~mod_abstractoptimizer module~mod_nada_opt->module~mod_decorations module~mod_nada_opt->module~mod_io module~mod_nada_opt->module~mod_precision module~mod_nada_opt->module~mod_throw module~mod_nada_opt->module~mod_lossfunctions module~mod_nada_opt->module~mod_loss_mse module~mod_nada_opt->module~mod_learning_rate module~mod_neighbor_grid->module~mod_mpi module~mod_neighbor_grid->module~mod_precision module~mod_neighbor_grid->module~mod_dynamic_int_array module~mod_neighbor_grid->module~mod_structures_helper module~mod_neighbor_grid->module~mod_neighborlist_helper module~mod_neighborlist->module~mod_io module~mod_neighborlist->module~mod_mpi module~mod_neighborlist->module~mod_precision module~mod_neighborlist->module~mod_settings module~mod_neighborlist->module~mod_structures module~mod_neighborlist->module~mod_throw module~mod_neighborlist->module~mod_dynamic_int_array module~mod_neighborlist->module~mod_neighbor_grid module~mod_neighborlist->module~mod_neighborlist_helper module~mod_neighborlist->module~mod_dynamic_double_array module~mod_neighborlist_helper->module~mod_mpi module~mod_neighborlist_helper->module~mod_precision module~mod_neighborlist_helper->module~mod_linalg module~mod_neural_network->module~mod_decorations module~mod_neural_network->module~mod_io module~mod_neural_network->module~mod_precision module~mod_neural_network->module~mod_throw module~mod_neural_network->module~mod_optional_args module~mod_neural_network->module~mod_random module~mod_neural_network->module~mod_activationfunctions module~mod_layers mod_layers module~mod_neural_network->module~mod_layers module~mod_parameter_file->module~mod_io module~mod_parameter_file->module~mod_precision module~mod_parameter_file->module~mod_throw module~mod_parameter_file->module~mod_nan_check module~mod_parameter_file->module~mod_abstract_broadcast_file module~mod_post_processing_wrapper_single_structure->module~mod_abstract_charge_equilibration module~mod_post_processing_wrapper_single_structure->module~mod_abstract_electrostatics module~mod_post_processing_wrapper_single_structure->module~mod_abstract_property_model module~mod_post_processing_wrapper_single_structure->module~mod_dataset_storage module~mod_post_processing_wrapper_single_structure->module~mod_ee4g_feature_calculator module~mod_post_processing_wrapper_single_structure->module~mod_feature_calculator module~mod_post_processing_wrapper_single_structure->module~mod_global_feature_statistics module~mod_post_processing_wrapper_single_structure->module~mod_global_features_helper module~mod_post_processing_wrapper_single_structure->module~mod_mpi module~mod_post_processing_wrapper_single_structure->module~mod_periodic_table module~mod_post_processing_wrapper_single_structure->module~mod_settings module~mod_post_processing_wrapper_single_structure->module~mod_structures module~mod_post_processing_wrapper_single_structure->module~mod_throw module~mod_post_processing_wrapper_single_structure->module~mod_timer module~mod_post_processing_wrapper_single_structure->module~mod_feature_map_neighborlist module~mod_post_processing_wrapper_single_structure->module~mod_free module~mod_post_processing_wrapper_single_structure->module~mod_hirshfeld_vdw module~mod_post_processing_wrapper_single_structure->module~mod_two_body module~mod_post_processing_wrapper_single_structure->module~mod_calc_atomic_properties module~mod_post_processing_wrapper_single_structure->module~mod_store_atomic_property_single_structure module~mod_evaluate_4g_single_structure mod_evaluate_4g_single_structure module~mod_post_processing_wrapper_single_structure->module~mod_evaluate_4g_single_structure module~mod_post_processing_2g_single_structure mod_post_processing_2g_single_structure module~mod_post_processing_wrapper_single_structure->module~mod_post_processing_2g_single_structure module~mod_post_processing_3g_single_structure mod_post_processing_3g_single_structure module~mod_post_processing_wrapper_single_structure->module~mod_post_processing_3g_single_structure module~mod_post_processing_4g_single_structure mod_post_processing_4g_single_structure module~mod_post_processing_wrapper_single_structure->module~mod_post_processing_4g_single_structure module~mod_post_processing_vdw_hirshfeld_single_structure mod_post_processing_vdw_hirshfeld_single_structure module~mod_post_processing_wrapper_single_structure->module~mod_post_processing_vdw_hirshfeld_single_structure module~mod_predict_4g_short_range_training_qeq_single_structure->module~mod_feature_calculator module~mod_predict_4g_short_range_training_qeq_single_structure->module~mod_global_feature_calculator module~mod_predict_4g_short_range_training_qeq_single_structure->module~mod_mpi module~mod_predict_4g_short_range_training_qeq_single_structure->module~mod_periodic_table module~mod_predict_4g_short_range_training_qeq_single_structure->module~mod_precision module~mod_predict_4g_short_range_training_qeq_single_structure->module~mod_structures module~mod_predict_4g_short_range_training_qeq_single_structure->module~mod_feature_map_neighborlist module~mod_predict_4g_short_range_training_qeq_single_structure->module~mod_chain module~mod_predict_4g_short_range_training_qeq_single_structure->module~mod_post_processing_2g_single_structure module~mod_sanitize->module~mod_throw module~mod_set_character->module~mod_throw module~mod_stochastic_gradient_descent->module~mod_abstractoptimizer module~mod_stochastic_gradient_descent->module~mod_decorations module~mod_stochastic_gradient_descent->module~mod_io module~mod_stochastic_gradient_descent->module~mod_precision module~mod_stochastic_gradient_descent->module~mod_throw module~mod_stochastic_gradient_descent->module~mod_lossfunctions module~mod_stochastic_gradient_descent->module~mod_loss_mse module~mod_stochastic_gradient_descent->module~mod_learning_rate module~mod_store_atomic_property_single_structure->module~mod_dataset_storage module~mod_store_atomic_property_single_structure->module~mod_precision module~mod_store_atomic_property_single_structure->module~mod_settings module~mod_store_atomic_property_single_structure->module~mod_structures module~mod_table->module~mod_decorations module~mod_table->module~mod_io module~mod_table->module~mod_precision module~mod_table->module~mod_throw module~mod_write_outfiles->module~mod_dataset_storage module~mod_write_outfiles->module~mod_initialize module~mod_write_outfiles->module~mod_io module~mod_write_outfiles->module~mod_mpi module~mod_write_outfiles->module~mod_throw module~mod_write_outfiles->module~mod_string module~mod_write_outfiles->module~mod_genericfile module~mod_sum_out mod_sum_out module~mod_write_outfiles->module~mod_sum_out module~sqnm->module~mod_precision module~sqnm->iso_c_binding module~sqnm->module~mod_linalg module~historylist historylist module~sqnm->module~historylist module~historylist->iso_c_binding module~mod_abstract_kalman_filter->module~mod_abstractoptimizer module~mod_abstract_kalman_filter->module~mod_decorations module~mod_abstract_kalman_filter->module~mod_io module~mod_abstract_kalman_filter->module~mod_mpi module~mod_abstract_kalman_filter->module~mod_precision module~mod_abstract_kalman_filter->module~mod_throw module~mod_abstract_kalman_filter->module~mod_data_container module~mod_abstract_kalman_filter->module~mod_linalg module~mod_abstract_kalman_filter->module~mod_lossfunctions module~mod_abstract_kalman_filter->module~mod_path module~mod_abstract_kalman_filter->module~mod_loss_mae module~mod_abstract_kalman_filter->module~mod_parse_logical_keyword module~mod_activationfunction_linear->module~mod_precision module~mod_activationfunction_linear->module~mod_activationfunction_abstract module~mod_activationfunction_relu->module~mod_precision module~mod_activationfunction_relu->module~mod_activationfunction_abstract module~mod_activationfunction_sigmoid->module~mod_precision module~mod_activationfunction_sigmoid->module~mod_activationfunction_abstract module~mod_activationfunction_softplus->module~mod_precision module~mod_activationfunction_softplus->module~mod_activationfunction_abstract module~mod_activationfunction_square->module~mod_precision module~mod_activationfunction_square->module~mod_activationfunction_abstract module~mod_activationfunction_stanh->module~mod_precision module~mod_activationfunction_stanh->module~mod_activationfunction_abstract module~mod_activationfunction_tanh->module~mod_precision module~mod_activationfunction_tanh->module~mod_activationfunction_abstract module~mod_dynamic_double_array->module~mod_precision module~mod_dynamic_double_array->module~mod_throw module~mod_electric_field_prefactor->module~mod_precision module~mod_electric_field_prefactor->module~mod_settings module~mod_electric_field_prefactor->module~mod_feature_map_neighborlist module~mod_evaluate_4g_single_structure->module~mod_abstract_charge_equilibration module~mod_evaluate_4g_single_structure->module~mod_ee4g_feature_calculator module~mod_evaluate_4g_single_structure->module~mod_feature_calculator module~mod_evaluate_4g_single_structure->module~mod_mpi module~mod_evaluate_4g_single_structure->module~mod_periodic_table module~mod_evaluate_4g_single_structure->module~mod_precision module~mod_evaluate_4g_single_structure->module~mod_structures module~mod_evaluate_4g_single_structure->module~mod_throw module~mod_evaluate_4g_single_structure->module~mod_timer module~mod_evaluate_4g_single_structure->module~mod_feature_map_neighborlist module~mod_evaluate_4g_single_structure->module~mod_optional_args module~mod_evaluate_4g_single_structure->module~mod_structures_helper module~mod_evaluate_4g_single_structure->module~mod_chain_features module~mod_fft->iso_c_binding fftw3 fftw3 module~mod_fft->fftw3 module~mod_dense_layer mod_dense_layer module~mod_layers->module~mod_dense_layer module~mod_dense_layer_with_single_activations mod_dense_layer_with_single_activations module~mod_layers->module~mod_dense_layer_with_single_activations module~mod_input_layer mod_input_layer module~mod_layers->module~mod_input_layer module~mod_input_layer_with_activations mod_input_layer_with_activations module~mod_layers->module~mod_input_layer_with_activations module~mod_learning_rate->module~mod_abstractoptimizer module~mod_learning_rate->module~mod_precision module~mod_parse_logical_keyword->module~mod_io module~mod_parse_logical_keyword->module~mod_throw module~mod_post_processing_2g_single_structure->module~mod_feature_calculator module~mod_post_processing_2g_single_structure->module~mod_mpi module~mod_post_processing_2g_single_structure->module~mod_periodic_table module~mod_post_processing_2g_single_structure->module~mod_precision module~mod_post_processing_2g_single_structure->module~mod_structures module~mod_post_processing_2g_single_structure->module~mod_timer module~mod_post_processing_2g_single_structure->module~mod_feature_map_neighborlist module~mod_post_processing_2g_single_structure->module~mod_chain_features module~mod_post_processing_3g_single_structure->module~mod_abstract_electrostatics module~mod_post_processing_3g_single_structure->module~mod_feature_calculator module~mod_post_processing_3g_single_structure->module~mod_mpi module~mod_post_processing_3g_single_structure->module~mod_precision module~mod_post_processing_3g_single_structure->module~mod_structures module~mod_post_processing_3g_single_structure->module~mod_feature_map_neighborlist module~mod_post_processing_3g_single_structure->module~mod_calc_screening module~mod_evaluate_electrostatics_3g_single_structure mod_evaluate_electrostatics_3g_single_structure module~mod_post_processing_3g_single_structure->module~mod_evaluate_electrostatics_3g_single_structure module~mod_post_processing_4g_single_structure->module~mod_abstract_charge_equilibration module~mod_post_processing_4g_single_structure->module~mod_ee4g_feature_calculator module~mod_post_processing_4g_single_structure->module~mod_feature_calculator module~mod_post_processing_4g_single_structure->module~mod_mpi module~mod_post_processing_4g_single_structure->module~mod_precision module~mod_post_processing_4g_single_structure->module~mod_structures module~mod_post_processing_4g_single_structure->module~mod_throw module~mod_post_processing_4g_single_structure->module~mod_feature_map_neighborlist module~mod_post_processing_4g_single_structure->module~mod_optional_args module~mod_post_processing_4g_single_structure->module~mod_calc_screening module~mod_post_processing_4g_single_structure->module~mod_evaluate_4g_single_structure module~mod_post_processing_vdw_hirshfeld_single_structure->module~mod_feature_calculator module~mod_post_processing_vdw_hirshfeld_single_structure->module~mod_mpi module~mod_post_processing_vdw_hirshfeld_single_structure->module~mod_precision module~mod_post_processing_vdw_hirshfeld_single_structure->module~mod_feature_map_neighborlist module~mod_post_processing_vdw_hirshfeld_single_structure->module~mod_hirshfeld_vdw module~mod_post_processing_vdw_hirshfeld_single_structure->module~mod_chain_features module~mod_spin_prefactor->module~mod_precision module~mod_spin_prefactor->module~mod_feature_map_neighborlist module~mod_sum_out->module~mod_io module~mod_sum_out->module~mod_mpi module~mod_sum_out->module~mod_precision module~mod_sum_out->module~mod_throw module~mod_sum_out->module~mod_dynamic_int_array module~mod_sum_out->module~mod_storage_container module~mod_sum_out->module~mod_string module~mod_sum_out->module~mod_genericfile module~mod_dense_layer->module~mod_decorations module~mod_dense_layer->module~mod_io module~mod_dense_layer->module~mod_precision module~mod_dense_layer->module~mod_throw module~mod_dense_layer->module~mod_constants module~mod_dense_layer->module~mod_global_warning module~mod_dense_layer->module~mod_initialize_array module~mod_dense_layer->module~mod_linalg module~mod_dense_layer->module~mod_nan_check module~mod_dense_layer->module~mod_optional_args module~mod_dense_layer->module~mod_random module~mod_dense_layer->module~mod_activationfunctions module~mod_dense_layer_with_single_activations->module~mod_decorations module~mod_dense_layer_with_single_activations->module~mod_io module~mod_dense_layer_with_single_activations->module~mod_precision module~mod_dense_layer_with_single_activations->module~mod_throw module~mod_dense_layer_with_single_activations->module~mod_global_warning module~mod_dense_layer_with_single_activations->module~mod_linalg module~mod_dense_layer_with_single_activations->module~mod_activationfunctions module~mod_dense_layer_with_single_activations->module~mod_dense_layer module~mod_evaluate_electrostatics_3g_single_structure->module~mod_abstract_electrostatics module~mod_evaluate_electrostatics_3g_single_structure->module~mod_feature_calculator module~mod_evaluate_electrostatics_3g_single_structure->module~mod_mpi module~mod_evaluate_electrostatics_3g_single_structure->module~mod_precision module~mod_evaluate_electrostatics_3g_single_structure->module~mod_throw module~mod_evaluate_electrostatics_3g_single_structure->module~mod_timer module~mod_evaluate_electrostatics_3g_single_structure->module~mod_feature_map_neighborlist module~mod_evaluate_electrostatics_3g_single_structure->module~mod_chain_features module~mod_input_layer->module~mod_decorations module~mod_input_layer->module~mod_io module~mod_input_layer->module~mod_precision module~mod_input_layer->module~mod_throw module~mod_input_layer->module~mod_constants module~mod_input_layer_with_activations->module~mod_decorations module~mod_input_layer_with_activations->module~mod_io module~mod_input_layer_with_activations->module~mod_precision module~mod_input_layer_with_activations->module~mod_throw module~mod_input_layer_with_activations->module~mod_global_warning module~mod_input_layer_with_activations->module~mod_activationfunctions module~mod_input_layer_with_activations->module~mod_input_layer

Used By

module~~mod_train_loop_short_range~~UsedByGraph module~mod_train_loop_short_range mod_train_loop_short_range module~mod_train_mode mod_train_mode module~mod_train_mode->module~mod_train_loop_short_range program~runner RuNNer program~runner->module~mod_train_mode

Procedures Summary

Name Type Description
global_feature_derivatives_available Function
global_feature_derivatives_in_memory Function
train_loop_short_range Subroutine Train the short-range potential energy surface of a HDNNP. This routine trains energy and/or...
initialize_cost_calculator_short_range Subroutine Decide which properties are printed as the cost, what the conversion factor is, etc.

Procedure Details

function global_feature_derivatives_available

function global_feature_derivatives_available( &
    global_feature_calculators &
)

Arguments

Called By

proc~~global_feature_derivatives_available~~CalledByGraph proc~global_feature_derivatives_available mod_train_loop_short_range::global_feature_derivatives_available proc~train_loop_short_range mod_train_loop_short_range::train_loop_short_range proc~train_loop_short_range->proc~global_feature_derivatives_available proc~train_mode mod_train_mode::train_mode proc~train_mode->proc~train_loop_short_range program~runner RuNNer program~runner->proc~train_mode

function global_feature_derivatives_in_memory

function global_feature_derivatives_in_memory( &
    global_feature_calculators &
)

Arguments

Called By

proc~~global_feature_derivatives_in_memory~~CalledByGraph proc~global_feature_derivatives_in_memory mod_train_loop_short_range::global_feature_derivatives_in_memory proc~train_loop_short_range mod_train_loop_short_range::train_loop_short_range proc~train_loop_short_range->proc~global_feature_derivatives_in_memory proc~train_mode mod_train_mode::train_mode proc~train_mode->proc~train_loop_short_range program~runner RuNNer program~runner->proc~train_mode

subroutine train_loop_short_range

subroutine train_loop_short_range( &
    data_loader, &
    models, &
    feature_calculators, &
    cutoff_functions, &
    num_samples_train_test, &
    ids_train_test, &
    optimizers, &
    loss_functions, &
    cost_functions, &
    results_precomputed, &
    results_trained, &
    qeq_feature_calculators, &
    ee4g_feature_calculators, &
    qeq_solver, &
    elec_calc &
)

Train the short-range potential energy surface of a HDNNP.

This routine trains energy and/or force components/force vectors. It is the most central high-level workflow controlling the short-range training. It is used in all HDNNP generations.

General outline

The training process is structured around a main loop that iterates over a predefined number of epochs. Within each epoch, the routine can further loop over chunks of data if the entire dataset does not fit into memory. For each chunk, the training data is divided into structure batches.

For each structure batch, the following steps are performed: 1. If force training is enabled, force batches are created based on a subset of atoms. 2. Feature values are calculated for all atoms in the structure batch. 3. If required for force training and not already precomputed, the derivatives of the feature maps with respect to atomic positions are calculated. 4. For 4G potentials, "extra features" like atomic charges and their derivatives are computed if they haven't been precomputed and stored. 5. If energy training is enabled for the current batch, the features are packed into a single array and the train_energy_multiple_structures routine is called to update the model weights. 6. If force training is enabled, the required features and their derivatives are packed and passed to the train_forces_multiple_structures routine for weight updates. 7. After processing all batches and chunks, the routine evaluates the cost function for the current epoch, reports the errors, and adjusts hyperparameters of the optimizers for the next epoch. This cycle repeats until the training is complete.

Memory management

The routine is designed to handle datasets that may be too large to fit into memory at once. The data_loader object manages reading the data in chunks.

2G/3G case

In the 2G/3G case, the primary memory consideration is the storage of symmetry function values (features) and their derivatives. - High-memory scenario: If sufficient RAM is available so that there is only a single chunk of structures, the features and their derivatives for the entire dataset (should) have been precomputed before entering this routine. This significantly speeds up training as these values don't need to be recalculated. - Low-memory scenario: If memory is limited, the routine calculates features and their derivatives on-the-fly for each structure batch. The calculated values are used for training and then discarded to free up memory. This approach is slower due to the computational overhead of recalculating these values repeatedly.

4G case

The 4G case introduces additional "extra features", such as charges (Q) fro a charge equilibration model, which serve as input to the atomic neural networks. The memory management strategy also applies to these extra features and their derivatives (dQ/dR). - High-memory scenario: qeq_feature_calculators can precompute and store both the charges (Q) and their derivatives (dQ/dR) for all structures. This is the most efficient method for training. The logical flag precomputed_q_and_dq_dr will be true in this case. - Low-memory scenario: If storing all derivatives is not feasible, only the charges (Q) are precomputed. The charge derivatives (dQ/dR) are then calculated on-the-fly for each structure batch during the training loop. This is handled internally by calls to predict_qeq_feature_calculator_multiple_structures.

Feature derivative calculation routes

For force training, the derivatives of the features with respect to atomic coordinates are required. This routine implements two main pathways for their calculation:

  1. Derivative from central atom (lfrom = .true.): The derivatives of a central atom's features with respect to the positions of all its neighbors are calculated. This route is used if a large fraction of atoms in the batch are selected for force training (typically > 50%). It is also mandatory for 4G potentials because the global charge feature creates a dependency of every atom's energy on all other atoms in the structure.
  2. Derivative towards target atom (lfrom = .false.): Only the derivatives of features of neighboring atoms with respect to the coordinates of a specific "target" atom (an atom selected for the force batch) are computed. This method can be more efficient if only a small fraction of atoms are used for force updates, as it avoids unnecessary derivative calculations.

Feature derivative packing

Before we enter train_energy_multiple_structures or train_forces_multiple_structures we pack the features and feature derivatives of the relevant atoms into a single memory that can be directly used for forward and backward passes through the model. For energy training, we always pack the feature values of all atoms in the structure batch into features_struc_batch. For force training, we pack the feature values of all central atoms contributing to the force of all selected target atoms into the array features_central_atoms_struc_batch. Furthermore, we pack the feature derivatives from the central atoms towards the target atoms into the array feature_derivatives_towards_target_atoms_struc_batch. There are two ways how to pack the feature derivatives: 1. Summing neighbor contributions: If the user setting force_training_sum_neighbors_derivatives is true, the contributions of all images of a central atom to the feature derivatives towards a target atom are summed up during packing. This is also enforced for 4G training, because the global charge feature creates a dependency of every atom's energy on all other atoms in the structure. In this case, the number of forward and backward passes we do per force component is the number of atoms in the structure containing the target atom. 2. Without summing neighbor contributions: This is the default. We do not sum up the contributions of neighbor images during packing. In this case, we do one forward and backward passes per neighbor contributing to a target force component. As a rule of thumb: in dense structures were avg(num_neighbors) > num_atoms, it can be beneficial to set force_training_sum_neighbors_derivatives = .true.. If avg(num_neighbors) < num_atoms, it is usually faster to do one forward and backward pass per neighbor atom.

Identical entries Identical entries

Arguments

  • data_loader : class(FileDataLoader) [inout]– An initialized dataloader with an attached data source from which chunks of structures are read during training. If there is only a single chunk, the structures will have already been loaded and are held in memory (the dataloader keeps track of this internally).
  • models : type(ModelPtr) (dim: (:,:)) [inout]– The list of all initialized models. Multiple committee members may be specified for each model. Even though during 2G training only the short-range model is trained, we pass the full list of models to reuse our generic prediction routines. Dimension (num_committee_members, num_models).
  • feature_calculators : type(FeatureCalculator) (dim: (:)) [inout]– List of initialized feature calculators for all `models`. Feature calculators must already contain fully initialized `Elements` objects with feature map definitions. If enough memory is available, all features and feature derivatives should be precomputed before calling this routine (better OpenMP parallelization). This routine only evaluates the feature calculators once for each structure batch and frees the memory after the optimizer update. In this case, calls to feature_calculator%initialize or feature_calculator%evaluate internally check the current state of the object and only calculate values if they have not been computed. If possibly, one should always try to use enough memory to store all feature derivatives because it greatly speeds up force training.
  • cutoff_functions : type(CutoffFunctionPtr) (dim: (:)) [inout]– The globally declared list of cutoff functions for calculating neighbor lists. Whenever we load a new chunk we need to calculate the corresponding neighbor list, which requires the cutoff functions. If there is only a single chunk, the neighbor lists are not recomputed.
  • num_samples_train_test : integer (dim: (:)) [in]– The number of train and test samples across the entire dataset and across all MPI processes. This must be the number of entries in the first dimension of `ids_train_test`.
  • ids_train_test : integer (dim: (:,:)) [in]– The global indices of the training and test set across all chunks and processes. Dimension: maxval(num_samples_train_test, dim = 1), 2
  • optimizers : type(OptimizerPtr) (dim: (:,:)) [inout]– The optimizers for all `models` that are supposed to be trained. One separate optimizer must be given for each committee member. Note that the number of optimizer may be larger than the number of models themselves, as models can have submodels (like atomic NNs) that each have separate optimizers. Dimension (num_committee_members, num_models).
  • loss_functions : type(LossFunctionPtr) (dim: (:)) [in]– All loss functions that are required by the given `optimizers`. Each optimizer keeps track of its corresponding loss function.
  • cost_functions : type(LossFunctionPtr) (dim: (:)) [in]– All cost functions that shall be used for reporting cost values after each epoch
  • results_precomputed : type(DatasetStorage) (dim: (global_settings%num_committee_members)) [inout]– Already predicted results that will not be changed anymore. These are usually other contributions to the energy and/or forces that are added to the short-range model's prediction. E.g. electrostatics, van der Waals, two-body contributions. Contributions are selected through the tag-system of `DatasetStorage`. Any contribution with `TAG_ENERGY` and `TAG_FORCES` is used.
  • results_trained : type(DatasetStorage) (dim: (global_settings%num_committee_members)) [inout]– Prepared container to store the values of the property/ies that is/are trained in course of this routine.
  • qeq_feature_calculators : type(QEqFeatureCalculator) (dim: (global_settings%num_committee_members)) [inout]– For 4G training, this is the calculator for the charge input features for each committee member. It must already contain the precomputed feature values (charges Q). Moreover, it may already contain the precomputed feature derivative values dQ/dR if there is enough memory to store them. This greatly speeds up training, so one should always aim for as much RAM as possible. Otherwise, dQ/dR is calculated on the fly for each structure batch and deallocated afterwards.
  • ee4g_feature_calculators : type(EE4GFeatureCalculator) (dim: (global_settings%num_committee_members)) [inout]– For ee4G training, this is the calculator for the electrostatic potential input features. See `qeq_feature_calculators` for more details.
  • qeq_solver : class(AbstractChargeEquilibrator) [inout]– Charge equilibrators for computing cost values with the force trick during 4G training. In low-memory cases, the global charge feature derivatives dQ/dR have not been precomputed and are not stored in `qeq_feature_calculators`. While we need to calculate dQ/dR on the fly for our short-range training, we do not use the `qeq_feature_calculators` or `ee4g_feature_calculators` for the cost calculation. Instead, we use the prediction charge equilibrators of this argument. This greatly speeds up the cost calculation, because we can make use of the force trick.
  • elec_calc : class(AbstractElectrostaticsCalculator) [inout]– Electrostatic calculators for computing cost values with the force trick during 4G training. See `qeq_solver` for a more detailed explanation of why this is necessary.

Called By

proc~~train_loop_short_range~~CalledByGraph proc~train_loop_short_range mod_train_loop_short_range::train_loop_short_range proc~train_mode mod_train_mode::train_mode proc~train_mode->proc~train_loop_short_range program~runner RuNNer program~runner->proc~train_mode

subroutine initialize_cost_calculator_short_range

subroutine initialize_cost_calculator_short_range( &
    cost_functions, &
    calculate_forces, &
    optimal_epoch_property, &
    cost_calculator &
)

Decide which properties are printed as the cost, what the conversion factor is, etc.

Arguments

  • cost_functions : type(LossFunctionPtr) (dim: (:)) [in]
  • calculate_forces : logical [in]
  • optimal_epoch_property : character [in]
  • cost_calculator : type(CostCalculator) [out]

Called By

proc~~initialize_cost_calculator_short_range~~CalledByGraph proc~initialize_cost_calculator_short_range mod_train_loop_short_range::initialize_cost_calculator_short_range proc~train_loop_short_range mod_train_loop_short_range::train_loop_short_range proc~train_loop_short_range->proc~initialize_cost_calculator_short_range proc~train_mode mod_train_mode::train_mode proc~train_mode->proc~train_loop_short_range program~runner RuNNer program~runner->proc~train_mode