block_from_array#
- metatensor.block_from_array(array) TensorBlock [source]#
Creates a simple TensorBlock from an array.
The metadata in the resulting
TensorBlock
is filled with ranges of integers. This function should be seen as a quick way of creating aTensorBlock
from arbitrary data. However, the metadata generated in this way has little meaning.- Parameters:
array – An array with two or more dimensions. This can either be a
numpy.ndarray
or atorch.Tensor
.- Returns:
A
TensorBlock
whose values correspond to the providedarray
. The metadata names are set to"sample"
for samples;"component_1"
,"component_2"
, … for components; andproperty
for properties. The number ofcomponent
labels is adapted to the dimensionality of the input array. The metadata associated with each label is a range of integers going from 0 to the size of the corresponding axis. The returnedTensorBlock
has no gradients.- Return type:
>>> import numpy as np >>> import metatensor >>> # Construct a simple 4D array: >>> array = np.linspace(0, 10, 42).reshape((7, 3, 1, 2)) >>> # Transform it into a TensorBlock: >>> tensor_block = metatensor.block_from_array(array) >>> print(tensor_block) TensorBlock samples (7): ['sample'] components (3, 1): ['component_1', 'component_2'] properties (2): ['property'] gradients: None >>> # The data inside the TensorBlock will correspond to the provided array: >>> print(np.all(array == tensor_block.values)) True