Function metatensor::io::load
source · pub fn load(path: impl AsRef<Path>) -> Result<TensorMap, Error>
Expand description
Load the serialized tensor map from the given path.
TensorMap
are serialized using numpy’s .npz
format, i.e. a ZIP file
without compression (storage method is STORED), where each file is stored as
a .npy
array. Both the ZIP and NPY format are well documented:
- ZIP: https://pkware.cachefly.net/webdocs/casestudies/APPNOTE.TXT
- NPY: https://numpy.org/doc/stable/reference/generated/numpy.lib.format.html
We add other restriction on top of these formats when saving/loading data.
First, Labels
instances are saved as structured array, see the labels
module for more information. Only 32-bit integers are supported for Labels,
and only 64-bit floats are supported for data (values and gradients).
Second, the path of the files in the archive also carry meaning. The keys of
the TensorMap
are stored in /keys.npy
, and then different blocks are
stored as
/ blocks / <block_id> / values / samples.npy
/ values / components / 0.npy
/ <...>.npy
/ <n_components>.npy
/ values / properties.npy
/ values / data.npy
# optional sections for gradients, one by parameter
/ gradients / <parameter> / samples.npy
/ components / 0.npy
/ <...>.npy
/ <n_components>.npy
/ data.npy