Skip to content

qmatyanlab/CHGCNN

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Crystal Hypergraph Convolutional Neural Networks

Implementation of Crystal Hypergraph Convolutional Neural Networks.

How to cite

If you use our code or method in your work, please cite it as follows:

@misc{heilman2024crystalhypergraphconvolutionalnetworks,
      title={Crystal Hypergraph Convolutional Networks}, 
      author={Alexander J. Heilman and Weiyi Gong and Qimin Yan},
      year={2024},
      eprint={2411.12616},
      archivePrefix={arXiv},
      primaryClass={cond-mat.mtrl-sci},
      url={https://arxiv.org/abs/2411.12616}, 
}

Prerequisites

  • pymatgen - Python Materials Genomics (pymatgen) is a Python library for materials analysis.
  • PyTorch - An open source deep learning platform.
  • PyTorch Geometric - PyTorch extension library for graph neural networks.

optional:

  • wandb - A visualization tool for experiment tracking for machine learning.

Training

Run training with the following command:

python main_nosym.py processed_data_dir

Project Structure

The directory structure of new project looks like this:

├── .github                   <- Github Actions workflows
│
├── data                 
│   ├── hypergraph                <- Hypergraph definitions
│   │     ├── hyperedges          <- Defines hyperedge types
│   │     │    ├── bonds.py
│   │     │    ├── hyperedge.py
│   │     │    ├── motifs.py
│   │     │    ├── triplets.py
│   │     │    └── unit_cell.py
│   │     ├── rbf                  <- Radial basis functions
│   │     │    └──  gaussian.py
│   │     ├── hypergraph.py        <- Crystal hypergraph class
│   │     └── neighbor_list.py     <- Generate neighbor lists
│   ├── utilities                 
│   │     ├── collate.py               <- Fix collate in torch-geometric for hyperedges
│   │     ├── fingerprint.py           <- Fix collate in pymatgen for motifs
│   │     └── readme.md
│   └── genereate_nosym.py                <- Process cifs
│
├── model                         
│   ├── convolutions                <- Hypergraph definitions
│   │     ├── inter_conv.py          <- Defines interorder convolution
│   │     └── agg_conv.py            <- Defines neighborhood-aggregation convolution
│   └── chgcnn.py                   <- Model definition
│   
├── main_nosym.py                   <- Runs training loop
└── readme.md

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages