Skip to content

mieand/pwwg-model

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Physic-inspired Wassterian Weisfeiler-Lehman Graph Gaussian Process Regression

This software package provides implementations of Physic-inspired Wassterian Weisfeiler-Lehman Graph (PWWG) model that takes arbitrary initial guess of structures to predict material properties with a particular interest in handling complex adsorbates.

This model integrates a customized graph kernel with Gaussian Process Regression. The search of hyperparameters is done with Bayesian optimization implemented with scikit-optimize.

A case study predicting adsorption enthalpies of complex adsorbates involved in Ethanol synthesis is exemplified, where the input features of the Machine learning model are only derived from clean surface and isolated molecule.

Installation

We made the easiest way to install prerequisites via conda. All the dependencies are given in env.yml.

Firstly, download or clone this repository via:

git clone https://github.com/Wenbintum/pwwg-model.git

Ensure you have installed conda, and then run the following commands to create a new environment named pwwg-model.

conda env create -f env.yml

Activate the conda environment with:

conda activate pwwg-model

Usage

This package allows parallel computing at a supercomputing facility. We implement this functionality via Ray, a simple and universal API for building distributed applications. Ray, originally developed by the computer science community, has many benefits, not least providing simple primitives for building and running distributed applications. Readers are referred to the webpage of Ray for more details.

  • Python-interface SLURM scripts: We provide a helper utility to auto-generate SLURM scripts and launch. There are some options you can use to submit your job in the SLURM system by running:
  python launch.py -h
  • Available machine learning tasks: We provide two machine learning tasks as showcases, one for 5-fold Cross-validation applied in the domain (termed as "CV5"), and another for extrapolation to out of the domain (alloy database) by only training on a pure metal database (termed as "Extrapolation"). Two tasks can be viewed by running:
  python main.py -h
  • Run task on HPC facility: By coupling python-interface SLURM scripters and self-contained ML tasks, now you can run these two tasks on High Performance Computing (HPC) facility. For install, running 5-fold Cross-validation task by given computational resource of 40 CPUs and 3 hours titled with "test".
  python launch.py --num-cpus 40 -t 03:00:00  --exp-name test --command "python -u main.py --task CV5 --uuid \$redis_password"
  • Run extrapolation task via:
  python launch.py --num-cpus 40 -t 03:00:00  --exp-name test --command "python -u main.py --task Extrapolation --uuid \$redis_password"

Authors

This software was primarily written by Wenbin Xu who was advised by Prof. Mie Andersen.

License

PWWG-GPR is released under the MIT License.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 95.3%
  • Shell 4.7%