๐ Paper: Predicting compositional changes of organic-inorganic hybrid materials with Augmented CycleGAN
โฌ๏ธ Download: Source code
|| Pretrained ![DOI:10.5281/zenodo.5721355](https://camo.githubusercontent.com/345cba6175453b0a5c85789899b111a3472fdd271e01aa8f534cf312b27817f5/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f444f492d31302e353238312f7a656e6f646f2e353732313335352d677261792e7376673f7374796c653d706c617374696326636f6c6f723d626c7565266c6f676f436f6c6f723d7768697465)
๐ 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.