Scripts and networks for "Electronic Structure Machine Learning Surrogates without Training"

DOI

Scripts for "Electronic Structure Machine Learning Surrogates without Training"

This repository contains scripts to reproduce the results of the publication "Electronic Structure Machine Learning Surrogates without Training". Training data has to be downloaded separately.

DISCLAIMER

These scripts were developed and used in a phase of active software development of MALA. Despite being tested, the authors cannot guarantee that using the most recent version of MALA as of writing this README (see requirements) will work without problems. Should problems arise, please do not hesitate to contact the MALA developers.

Requirements

numpy >= 1.20.1 mala >= 1.0.0

Contents

All folders relating to network training (subfolders of hyperparameter_optimization_Al256 and the folder SNAP_analysis_Be128) will contain three folders relating to the network training:

  • weights: Network weights
  • params: Parameters used for training
  • results: Predictions and actual values of total energies/band energies

"hyperparameter_optimization_Al256": Hyperparameter optimization comparison for an aluminium supercell

This subfolder contains the scripts used for the hyperparameter optimization comparisons. Please note that the training/test of networks was done multiple times, and only the sample scripts are shown here, i.e., the parallelization over the network initializations is not given (and was done using a simple bash script). Each individual hyperparameter optimization technique subfolder contains (at least): - hyperopt.py for the hyperparameter optimization - training.py for the training of a single network - test.py for testing of a single network

Further, please note that some hyperparameter optimization techniques required more debugging then others, and so you will find the checkpoint IDs sometimes as "hyperopt01", but also as "hyperopt08". For the comparison of snapshot selection vs. network initialization the "direct_search" scripts have been used, with the network initialization being fixed via "parameters.manual_seed = ...". Parameters/network weights are denoted by runXX (with XX=1...5) and, where it applies, snapYY (YY=0,2,4,6,8).

SNAP_analysis_Be128: SNAP descriptor surrogate metric

With the scripts in this subfolder input data generation for the ACSD analysis as well as the analysis itself can be performed.

LDOS_analysis_Be128: LDOS quality analysis

The script(s) in this subfolder show how the LDOS of a system can be analyzed.

Identifier
DOI https://doi.org/10.23728/b2share.436e1e79daa54436a7703340431b4e19
Source https://b2share.eudat.eu/records/436e1e79daa54436a7703340431b4e19
Metadata Access https://b2share.eudat.eu/api/oai2d?verb=GetRecord&metadataPrefix=eudatcore&identifier=oai:b2share.eudat.eu:b2rec/436e1e79daa54436a7703340431b4e19
Provenance
Creator Fiedler, Lenz; Hoffmann, Nils; Mohammed, Parvez; Popoola, Gabriel A.; Yovell, Tamar; Oles, Vladyslav; Ellis, J. Austin; Rajamanickam, Siva; Cangi, Attila
Publisher EUDAT B2SHARE
Publication Year 2022
Rights info:eu-repo/semantics/openAccess
OpenAccess true
Contact l.fiedler(at)hzdr.de
Representation
Format zip
Size 665.1 MB; 1 file
Discipline 3.4.6 → Physics → Computational physics