Please note that the SIPFENN software described below has been superseded by much larger pySIPFENN we re-wrote from scratch to extend it in terms of (1) featurization, adding 3 new calculators for different types of atomic structures, (2) model accessibility, switching to Open Neural Network Exchange (ONNX) format, (3) many Quality of Life (QoL) improvements, targeting easier development of new models by our users.
Please REFER to Git Repository at: git.pysipfenn.org
Please REFER to Documentation at: pysipfenn.org
The text, code, and links below are left here for archival purposes. We won’t support them, but they should run with Python 3.8-10.
Structure-Informed Prediction of Formation Energy using Neural Networks
We present a user-friendly open-source tool (SIPFENN) for predicting the formation enthalpy of any atomic structure on the millisecond time-scale based on a structure file (POSCAR/CIF/etc.) or on the microsecond time-scale if the descriptor has been calculated. Unlike the vast majority of other reported models, SIPFENN does not require any intensive model training from the user but is delivered ready to use on a desktop PC or a laptop. As depicted in the graphical abstract, on the user end, SIPFENN does not require any input other than structure files, which allows effortless integration into any CALPHAD study within minutes. On the computation end, pymatgen converts structures data into a unified form, and if needed, performs an additional project-specific analysis. Descriptors are generated with Magpie and then passed through a trained neural network to predict values of formation energy. Our code is built to allow easy switch of the neural network, which is encoded in a popular open-source format MXNet. We leverage that by making it easy for others to re-train the network to include new data into the model at a fraction of computational cost (transfer learning). The model itself is built using a structure-informed descriptor, open DFT databases, and new neural network architectures designed by us. On a random 5% subset of the OQMD, we achieve an MAE of 28 meV/atom. In addition to trivial cross-validation, we also tested our model on a few SQS and 243 endmembers of the 5-sublattice model of Fe-Cr-Ni σ-phase, getting very similar results in both cases.
The latest release of the SIPFENN is through the pySIPFENN package, which is available on PyPI.
(Optional) Before installing pySIPFENN, it is recommended to create a new virtual Python environment using, e.g., Conda:
conda create -n pysipfenn python=3.9
conda activate pysipfenn
To install, simply use this one-line command:
pip install pysipfenn
Once successfully installed, for the typically minimum usage, initialize the Calculator class
c = Calculator() # Sets up calculation environment based on the available models
(only 1st use) download and load all models; a specific one can be selected if needed,
c.downloadModels() # Acquires all models from Zenodo (~4GB)
c.loadModels() # Loads just downloaded models
And lastly, perform calculations. There are many different modes of operation and possible customizations. The most straightforward usage is to put all atomic configuration files, such as PSOCAR, into a single folder/directory and run all models available for a given feature vector/descriptor calculator; as of version V0.10, the two available that work on arbitrary atomic configurations are “Ward2017” and “KS2022”.
c.runFromDirectory(directory='myInputFiles', descriptor='KS2022')
c.writeResultsToCSV('myResults.csv')
This should export an easily readable CSV file, which can be opened, e.g., in Excel.