Using the CGCNN transfer learning model to predict the voltages of Li, Na, K, Mg, Ca, Zn, Y, and Al-ion battery electrodes
The package provides all the files that are used in the article of "Accurately predicting voltage of electrode materials in metal-ion batteries using interpretable deep transfer learning"
The CGCNN model is provided by Xie Tian et.al (https://journals.aps.org/prl/abstract/10.1103/PhysRevLett.120.145301). They also provide their model in github (http://github.com/txie-93/cgcnn).
- How to cite
- Prerequisites
- Files introduction
- [CGCNN]
- [CGCNN_visulization]
- [Transfer_learning]
- [Trained_model]
- [data]
- [SVR_KRR_RFR]
- Web tool
Please cite the following work if you want to use this model.
@article{npj Comput. Mater. 8, 175 (2022),
title = {Interpretable Learning of Voltage for Electrode Design of Multivalent Metal-ion Batteries},
author = {Zhang Xiuying, Zhou Jun, Lv Jing, and Shen Lei},
journal = {npj Comput. Mater.},
volume = {8},
issue = {1},
pages = {175},
numpages = {8},
year = {2022},
month = {August},
publisher = {Springer Nature},
doi = {10.1038/s41524-022-00858-9},
url = {http://www.nature.com/articles/s41524-022-00858-9}
}
The work of the CGCNN model is also suggested to cite when using this model.
url={https://journals.aps.org/prl/abstract/10.1103/PhysRevLett.120.145301}
This package requires:
If you are new to Python, the easiest way of installing the prerequisites is via conda. After installing conda, run the following command to create a new environment named cgcnn
and install all prerequisites.
- CGCNN folder
The files in this folder are just the same as the corresponding files in the CGCNN model that Xie Tian et.al give (http://github.com/txie-93/cgcnn).
We used files in this folder to train the model for the voltage prediction of Li-ion battery electrodes.
- CGCNN_visualization
The files in this folder are used to have a visualization of the CGCNN model.
The embedding_features.py is to visualize the features from the embedding layer in the CGCNN model.
The local_voltage_plt.py is to visualize the local voltages, which are obtained after the three convolutional layers.
The element_features.csv and OMO_local.csv are the data files that are used in the embedding_features.py and local_voltage_plt.py respectively. The element_features_csv.py and OMO_local_csv.py are the corresponding codes to get the two csv data files.
The other files in this folder are the useful files in the embedding_features.py and the local_voltage_plt.py.
- Transfer_learning
The files in this folder are the main file for the model training for the prediction of Na, K, Mg, Ca, Zn, Y, and Al-ion battery electrods voltages respectively.
- Trained_model
Here are the trained models for the voltage predictions of the corresponding metal-ion battery electrodes.
The model_best.pth file is trained on Li-ion battery electrodes dataset. It can be used for the Li-ion battery electrode voltage prediction. It also used to predict the voltages for the Rb and Cs-ion battery electrodes.
The model_best_Na.pth file is trained on Na-ion battery electrodes dataset and also used for the Na-ion battery electrode voltage prediction.
The model_best_K.pth file is trained on K-ion battery electrodes dataset and also used for the K-ion battery electrode voltage prediction.
The model_best_Mg.pth file is trained on Mg-ion battery electrodes dataset and also used for the Mg-ion battery electrode voltage prediction.
The model_best_Ca.pth file is trained on Ca-ion battery electrodes dataset and also used for the Ca-ion battery electrode voltage prediction.
The model_best_Zn.pth file is trained on Zn-ion battery electrodes dataset and also used for the Zn-ion battery electrode voltage prediction.
The model_best_Y.pth file is trained on Y-ion battery electrodes dataset and also used for the Y-ion battery electrode voltage prediction.
The model_best_Al.pth file is trained on Al-ion battery electrodes dataset and also used for the Al-ion battery electrode voltage prediction.
- data
This folder contains the required data for the model training and the corresponding code to get these data files.
- SVR_KRR_RFR
Here are the SVR (Supporting Vector Regression), KRR (Kernel Ridge Regression), and RFR (Random Forest Regression) models that are used in our work.
A convenient web tool has been built for the voltage prediction of all the metal-ion battery electrodes. http://batteries.2dmatpedia.org/