Atomic Structure Generation from Reconstructing Structural Fingerprints
[arXiv]
Git clone this repo and in the main directory do
pip install -r requirements.txt
pip install -e .
The package has been tested on
- Python 3.6.10 / 3.9.12
- PyTorch 1.10.2 / 1.12.0
- Torch.cuda 11.3
Most configurations of the system/code are done through .yaml
files under configs/
.
To load a configuration:
# load our config yaml file
stream = open('./configs/example/example_extract_reconstruct.yaml')
CONFIG = yaml.safe_load(stream)
stream.close()
# dotdict for dot operations on Python dict
# e.g., CONFIG.cutoff == CONFIG['cutoff']
CONFIG = dotdict(CONFIG)
Extract representations for training generative model using selected descriptor.
See examples/example_extract.py
Train a CVAE (conditional variational auto-encoder) as the generative model.
See examples/example_cvae_trainer.py
.
Generate representation from a given target value using the decoder part of the CVAE.
See examples/example_generator.py
.
Generate atomic structures from generated representation.
See examples/example_reconstruction.py
.
A script to run all of the above examples is provided in quickrun.sh
. To execute, do
chmod u+x quickrun.sh
./quickrun.sh
@article{fung2022atomic,
title={Atomic structure generation from reconstructing structural fingerprints},
author={Fung, Victor and Jia, Shuyi and Zhang, Jiaxin and Bi, Sirui and Yin, Junqi and Ganesh, P},
journal={arXiv preprint arXiv:2207.13227},
year={2022}
}