Skip to content

Latest commit

 

History

History
109 lines (71 loc) · 4.14 KB

README.md

File metadata and controls

109 lines (71 loc) · 4.14 KB

graphite

A repository for implementing graph network models based on atomic structures.

Implemented or replicated works

Gallery

Spectroscopy-guided amorphous material generation

This animation shows unconditional generation of amorphous carbons. Color is meant to help give you a sense of depth.

Score dynamics

Generative rollouts of molecular dynamics over picosecond timesteps via conditional diffusion model.

Atomic structure denoiser

Simple and effective atomic denoiser for structure characterization.

Installation

The installation time is typically less than 10 minutes on a normal local machine.

Installation dependencies:

  • PyTorch (pytorch>=1.8.1)
  • PyTorch-Geometric (pyg>=2.0.1): for graph data format processing and batching.
  • [Optional] Atomic Simulation Environment (ase): for reading/writing atomic structures and efficient neighbor list algorithm.
  • [Optional] Euclidean neural networks (e3nn>=0.4.4): dependency for the NequIP models.

An example for the installation process:

conda create -n graphite
conda activate graphite
conda install pytorch pytorch-cuda=11.7 -c pytorch -c nvidia
conda install pyg -c pyg

# Optional install dependency, but required for some of the model implementations
pip install ase e3nn

# Other useful packages for development (optional)
pip install jupyterlab ipywidgets seaborn lightning tensorboard MDAnalysis

Then, to install graphite, clone this repo and run:

pip install -e /path/to/the/repo

The -e option signifies an editable install, which is well suited for development; this allows you to edit the source code without having to re-install.

To uninstall:

pip uninstall graphite

How to use

graphite is intended to be a general collection of codes (e.g., helper functions, custom graph convolutions, and template graph models) for research purposes. Production codes for certain applications and deployments should be hosted elsewhere.

  • The src folder contains the source code.
  • The notebooks folder contains Jupyter notebooks that demonstrate running or training models.
    • Some demos require additional packages (e.g., PyTorch Lightning for automated training). Please see Installation and the instructions in the demos.

Release

LLNL-CODE-836648