📜 Paper: Predicting compositional changes of organic-inorganic hybrid materials with Augmented CycleGAN
⬇️ Download: Source code || Pretrained
🕛 Latest release: 2022/02/22
There are three submodules:
- cacgan.data contains classes used for processing amine-templated oxide data. atmo.csv is the csv form of ATMO dataset.
- cacgan.analysis are functions for analyzing ATMO composition dataset
- cacgan.gans is the main module for constructing Augmented CycleGAN. This is based on the Pytorch code of Augmented CycleGAN by Amjad Almahairi.
other functions include
- sinkhornOT.py is used for calculating earth mover's distance with user-defined distance matrix. This is based on the Sinkhorn algorithm implementation by Thomas Viehmann.
- settings.py contains parameters used in model training.
- generate_dataset.py
create composition datasets used for model training, by default these are
two
.pkl
files in dataset:dataset_ab.pkl
-- chemical compositions,dimset.pkl
-- dimensionalities.- additionally, earth mover's distance matrix can be generated using the same script
- eval_tuned.py evaluates the pretrained/tuned model which can be
downloaded from
and placed in the tuned folder.
- alternatively, use
zenodo_get 10.5281/zenodo.5721355
in command line to download
- alternatively, use
- hpc_pbs folder contains code for hyperparameter tuning and submission script for HPC (PBS).
- tutorial.ipynb a notebook showing how to generate dataset and to train the augmented cycleGAN model.
- test_emd.py unittest for sinkhorn calculator (testing results against pyemd).
- test_layer unittest for layers used in models.
- Model tuning is done through the script dimpredictor/tune_models.py. Evaluations are done by dimpredictor/tuned.py.
- The scripts in dimpredictor/tandem are for connecting the composition generators to a dimensionality classifier.