Atomistic Models#
While metatensor is a generic sparse data container able to store data and metadata for multiple scientific fields, it comes from the field of atomistic machine learning and as such offer some additional facilities for defining and using machine learning models applied to atomistic systems.
Metatensor provides tools to build your own models (in the form of operations), define new models architectures and export models you just train to use them in arbitrary simulation engines. If you want to train existing architectures with new data or re-use existing trained models, look into the (work in progress) metatensor-models project instead!
All the model facilities in metatensor are based on PyTorch and in particular
TorchScript. This allow users to define new models with Python code (as a custom
torch.nn.Module
instance), train the models from Python, and export
them to TorchScript. The exported model can then be loaded into a C++ simulation
engine such as LAMMPS, GROMACS, etc. and executed without relying on a Python
installation.
Metatensor provides code for using atomistic systems as input of a machine
learning model with metatensor.torch.atomistic.System
, and exporting
trained models with
metatensor.torch.atomistic.MetatensorAtomisticModel
. Such models can
make predictions for various properties of the atomistic system, and return them
as a dictionary of metatensor.torch.TensorMap
, one such tensor map
for each property (i.e. energy, atomic charges, dipole, electronic density,
chemical shielding, etc.)
This part of the documentation contains the full Python and C++ API references for atomistic models. It also defines how some specific properties should be structured if they are returned by a model.