metatensor
is a library for defining, manipulating, storing, and sharing
arrays with many, potentially sparse, indices. Think numpy’s ndarray
or
PyTorch’s Tensor
with additional metadata and block-sparse storage.
metatensor
was designed to work with data in atomistic machine learning and
makes it easy, memory efficient, and fast to keep track of spherical harmonics
orders, neighboring atoms indices, atomic types, and much more. It can also
store gradients, keeping them together with the associated values.
Install the right version of metatensor for your programming language! The core of this library is written in Rust and we provide API for C, C++, and Python.
Learn about the core goals of metatensor, and what the library is about:
an exchange format for ML data;
a tool to develop new ML models;
an interface for atomistic simulations.
Explore the core types of metatensor: TensorMap
,
TensorBlock
and Labels
, and discover how to used
them.
Use operations to manipulate the core types of metatensor and write new algorithms operating on metatensor’s sparse data.
Learn about the TorchScript version of metatensor, used to export and execute custom models inside non-Python software.
Use the utility class with the same API as torch or scikit-learn to train models using metatensor!
Learn about the facilities provided to define atomistic models, and use them to run molecular dynamics simulations and more!