Skip to main content

Training and evaluating machine learning models for atomistic systems.

Project description

Metatensor logo

tests status documentation coverage

metatrain is a command line interface (CLI) to train and evaluate atomistic models of various architectures. It features a common yaml option inputs to configure training and evaluation. Trained models are exported as standalone files that can be used directly in various molecular dynamics (MD) engines (e.g. ASE, LAMMPS, i-PI, TorchSim, ESPResSo,...) using the metatomic interface.

The idea behind metatrain is to have a general training hub that provides a homogeneous environment and user interface, transforming every ML architecture into an end-to-end model that can be connected to MD engines. Any custom architecture compatible with TorchScript can be integrated into metatrain, gaining automatic access to a training and evaluation interface, as well as compatibility with various MD engines.

List of Implemented Architectures

Currently metatrain supports the following architectures for building an atomistic model:

Name Description
PET Point Edge Transformer (PET), interatomic machine learning potential
SOAP-BPNN A Behler-Parrinello neural network with SOAP features
MACE A higher order equivariant message passing neural network.
PhACE SO(3)-equivariant message-passing model with physical radial functions and fast tensor products.
GAP Sparse Gaussian Approximation Potential (GAP) using Smooth Overlap of Atomic Positions (SOAP).
FlashMD An architecture for the direct prediction of molecular dynamics
DPA3 An invariant graph neural network based on line graph series representations
Symplectic FlashMD A symplectic variant of FlashMD for the direct prediction of molecular dynamics.

Documentation

For details, tutorials, and examples, please visit our documentation.

Installation

Install metatrain with pip:

pip install metatrain

Install specific models by specifying the model name. For example, to install the SOAP-BPNN model:

pip install metatrain[soap-bpnn]

We also offer a conda installation:

conda install -c conda-forge metatrain

⚠️ The conda installation does not install model-specific dependencies and will only work for architectures without optional dependencies such as PET.

After installation, you can use mtt from the command line to train your models!

Quickstart

To train a model, use the following command:

mtt train options.yaml

Where options.yaml is a configuration file specifying training options. For example, the following configuration trains a SOAP-BPNN model on the QM9 dataset:

# architecture used to train the model
architecture:
  name: soap_bpnn
  training:
    num_epochs: 5  # a very short training run

# Mandatory section defining the parameters for system and target data of the training set
training_set:
  systems: "qm9_reduced_100.xyz"  # file where the positions are stored
  targets:
    energy:
      key: "U0"      # name of the target value
      unit: "eV"     # unit of the target value

test_set: 0.1        # 10% of the training_set are randomly split for test
validation_set: 0.1  # 10% of the training_set are randomly split for validation

Shell Completion

metatrain comes with completion definitions for its commands for bash and zsh. You must manually configure your shell to enable completion support.

To make the completions available, source the definitions in your shell’s startup file (e.g., ~/.bash_profile, ~/.zshrc, or ~/.profile):

source $(mtt --shell-completion)

Having problems or ideas?

Having a problem with metatrain? Please let us know by submitting an issue.

Submit new features or bug fixes through a pull request.

Contributors

Thanks goes to all people who make metatrain possible:

Contributors

The overall metatrain project is maintained by @frostedoyster, @pfebrer, and @PicoCentauri who will reply to issues and pull requests opened on this repository as soon as possible. You can mention them directly if you did not receive an answer after a couple of days. Additionally, different architectures are maintained by separate maintainers, you can find their names in the corresponding documentation

Citing metatrain

If you found metatrain useful for your work, please cite the corresponding article:

F. Bigi, J.W. Abbott, P. Loche et. al.
Metatensor and metatomic: foundational libraries for interoperable atomistic machine learning, (2026).
https://doi.org/10.1063/5.0304911

@article{bigi_metatensor_2026,
  title = {Metatensor and Metatomic: {{Foundational}} Libraries for Interoperable Atomistic Machine Learning},
  shorttitle = {Metatensor and Metatomic},
  author = {Bigi, Filippo and Abbott, Joseph W. and Loche, Philip and Mazitov, Arslan and Tisi, Davide and Langer, Marcel F. and Goscinski, Alexander and Pegolo, Paolo and Chong, Sanggyu and Goswami, Rohit and Febrer, Pol and Chorna, Sofiia and Kellner, Matthias and Ceriotti, Michele and Fraux, Guillaume},
  year = 2026,
  month = feb,
  journal = {J. Chem. Phys.},
  volume = {164},
  number = {6},
  pages = {064113},
  issn = {0021-9606},
  doi = {10.1063/5.0304911},
}

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

metatrain-2026.3.1.tar.gz (2.3 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

metatrain-2026.3.1-py3-none-any.whl (2.4 MB view details)

Uploaded Python 3

File details

Details for the file metatrain-2026.3.1.tar.gz.

File metadata

  • Download URL: metatrain-2026.3.1.tar.gz
  • Upload date:
  • Size: 2.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for metatrain-2026.3.1.tar.gz
Algorithm Hash digest
SHA256 29337ce20b133a074b9873dabe9b70d35ceb639ef2382bafb42c825856a52860
MD5 7227612d3766a3d3a6049dcd5fd27933
BLAKE2b-256 7b451d8cf8a1491154b0144513c3e2c02027ae0f7ac6a0103055a9abb1192900

See more details on using hashes here.

Provenance

The following attestation bundles were made for metatrain-2026.3.1.tar.gz:

Publisher: release.yml on metatensor/metatrain

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file metatrain-2026.3.1-py3-none-any.whl.

File metadata

  • Download URL: metatrain-2026.3.1-py3-none-any.whl
  • Upload date:
  • Size: 2.4 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for metatrain-2026.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9fe14c5b2d1ea36061dc338771203ca5747c912b6376be352d12fcf8be44654e
MD5 65551f03ea346652f08cd85942901b80
BLAKE2b-256 2d64a95ac1777baf5ad33bc33f34525dd143dd070a8c7db0bb505bb304cf2ffb

See more details on using hashes here.

Provenance

The following attestation bundles were made for metatrain-2026.3.1-py3-none-any.whl:

Publisher: release.yml on metatensor/metatrain

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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