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:
be an exchange format for structured atomistic data;
provide efficient storage and manipulation of sparse arrays;
offer tools to build custom machine learning models.
Follow step-by-step tutorials to learn how to use metatensor core classes to store your own data, including complex sparsity patterns and gradients handling.
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 based on metatensor!