Skip to main content

MAterials Machine Learning (maml) is a machine learning library for materials science.

Project description

maml

GitHub license Linting Testing Downloads codecov

maml (MAterials Machine Learning) is a Python package that aims to provide useful high-level interfaces that make ML for materials science as easy as possible.

The goal of maml is not to duplicate functionality already available in other packages. maml relies on well-established packages such as scikit-learn and tensorflow for implementations of ML algorithms, as well as other materials science packages such as pymatgen and matminer for crystal/molecule manipulation and feature generation.

Official documentation at https://materialsvirtuallab.github.io/maml/

Features

  1. Convert materials (crystals and molecules) into features. In addition to common compositional, site and structural features, we provide the following fine-grain local environment features.

a) Bispectrum coefficients b) Behler Parrinello symmetry functions c) Smooth Overlap of Atom Position (SOAP) d) Graph network features (composition, site and structure)

  1. Use ML to learn relationship between features and targets. Currently, the maml supports sklearn and keras models.

  2. Applications:

a) pes for modelling the potential energy surface, constructing surrogate models for property prediction.

i) Neural Network Potential (NNP) ii) Gaussian approximation potential (GAP) with SOAP features iii) Spectral neighbor analysis potential (SNAP) iv) Moment Tensor Potential (MTP)

b) rfxas for random forest models in predicting atomic local environments from X-ray absorption spectroscopy.

c) bowsr for rapid structural relaxation with bayesian optimization and surrogate energy model.

Installation

Pip install via PyPI:

pip install maml

To run the potential energy surface (pes), lammps installation is required you can install from source or from conda::

conda install -c conda-forge/label/cf202003 lammps

The SNAP potential comes with this lammps installation. The GAP package for GAP and MLIP package for MTP are needed to run the corresponding potentials. For fitting NNP potential, the n2p2 package is needed.

Install all the libraries from requirements.txt file::

pip install -r requirements.txt

For all the requirements above:

pip install -r requirements-ci.txt
pip install -r requirements-optional.txt
pip install -r requirements-dl.txt
pip install -r requirements.txt

Usage

Many Jupyter notebooks are available on usage. See notebooks. We also have a tool and tutorial lecture at nanoHUB.

API documentation

See API docs.

Citing

@misc{
    maml,
    author = {Chen, Chi and Zuo, Yunxing, Ye, Weike, Ji, Qi and Ong, Shyue Ping},
    title = {{Maml - materials machine learning package}},
    year = {2020},
    publisher = {GitHub},
    journal = {GitHub repository},
    howpublished = {\url{https://github.com/materialsvirtuallab/maml}},
}

For the ML-IAP package (maml.pes), please cite::

Zuo, Y.; Chen, C.; Li, X.; Deng, Z.; Chen, Y.; Behler, J.; Csányi, G.; Shapeev, A. V.; Thompson, A. P.;
Wood, M. A.; Ong, S. P. Performance and Cost Assessment of Machine Learning Interatomic Potentials.
J. Phys. Chem. A 2020, 124 (4), 731–745. https://doi.org/10.1021/acs.jpca.9b08723.

For the BOWSR package (maml.bowsr), please cite::

Zuo, Y.; Qin, M.; Chen, C.; Ye, W.; Li, X.; Luo, J.; Ong, S. P. Accelerating Materials Discovery with Bayesian
Optimization and Graph Deep Learning. Materials Today 2021, 51, 126–135.
https://doi.org/10.1016/j.mattod.2021.08.012.

For the AtomSets model (maml.models.AtomSets), please cite::

Chen, C.; Ong, S. P. AtomSets as a hierarchical transfer learning framework for small and large materials
datasets. Npj Comput. Mater. 2021, 7, 173. https://doi.org/10.1038/s41524-021-00639-w

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

maml-2025.4.3.tar.gz (2.2 MB view details)

Uploaded Source

Built Distribution

maml-2025.4.3-py3-none-any.whl (2.3 MB view details)

Uploaded Python 3

File details

Details for the file maml-2025.4.3.tar.gz.

File metadata

  • Download URL: maml-2025.4.3.tar.gz
  • Upload date:
  • Size: 2.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.10

File hashes

Hashes for maml-2025.4.3.tar.gz
Algorithm Hash digest
SHA256 3ad97ab5b7a4db4dbb1840e0200686e476fdb380b1515765137852d59a49b9a8
MD5 522987c1af6c4bdad83f4f652bac38fe
BLAKE2b-256 da815633426f6f537c1ddd2e0e2eede33b21237761050ed0d99ebb628cac468a

See more details on using hashes here.

File details

Details for the file maml-2025.4.3-py3-none-any.whl.

File metadata

  • Download URL: maml-2025.4.3-py3-none-any.whl
  • Upload date:
  • Size: 2.3 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.10

File hashes

Hashes for maml-2025.4.3-py3-none-any.whl
Algorithm Hash digest
SHA256 32e92d4aadf974b79b650fe3d616b9bfd6e429a5c3fa735a8cf7f9e0556008a7
MD5 935a2ca6870d43877c562d1e35b3c929
BLAKE2b-256 4eb1f7b6a3fa1e09afa3990146995f6ba36889e08fedeb235a9968ebd486ff88

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page