Software Resources

Materials Science

For ML packages specific to materials science, refer to the following list. Most of the examples below are pulled directly from this resource.

ML Frameworks

The following are useful frameworks for training machine learning models:
  • Star  scikit-learn : The go-to standard for "conventional" (i.e. not graph-related) classification, regression, and clustering machine learning algorithms. This is the package you should start with when getting familiar with machine learning.
  • Star  PyTorch : A Python library for training and running neural networks. This is the deep learning framework we use in the group.
  •  PyTorch Geometric : PyTorch-based library for graph neural networks.
  •  PyTorch Lightning : Helps to remove boilerplate in PyTorch codes
  •  DGL : A library for doing deep learning on graphs, which is framework-agnostic (i.e. it is interoperable with PyTorch, TensorFlow, or MXNet).
  •  PySR : Symbolic regression, for when having an equation is desirable.

ML Interatomic Potentials

To find the top pre-trained ML interatomic potentials for materials science, refer to  Matbench Discovery. 
To train your own ML interatomic potentials, here are some general-purpose libraries:
  •  Graph PES 
  •  TorchMD-Net 
  •  Autoplex 

Graph Neural Network Libraries

Here are some general-purpose libraries of graph neural network architectures for materials:
  •  matgl 
  •  matsciml 
  •  https://github.com/AlexDuvalinho/geometric-gnns  → a list of individual libraries through 2023.

NLP Tools

The following are miscellaneous natural language processing tools:
  • Star  Marvin : Build natural language processing interfaces in practical applications.
  •  Paper QA : Use large language models to answer questions from document libraries with citations.