TuckerTensorTrain.load#

static t3toolbox.tucker_tensor_train.TuckerTensorTrain.load(file, use_jax=False)#
def load(
        file,
        use_jax: bool = False,
) -> 'TuckerTensorTrain':

Load a Tucker tensor train from a file.

Parameters:
  • file (str or file) – Either the filename (string) or an open file (file-like object) where the data will be saved. If file is a string or a Path, the .npz extension will be appended to the filename if it is not already there.

  • use_jax (bool, optional) – If True, TuckerTensorTrain cores are jax arrays. If False, they are numpy arrays. Default (use_jax=False): use numpy arrays.

Returns:

Tucker tensor train loaded from the file

Return type:

TuckerTensorTrain

Raises:
  • RuntimeError – Error raised if the Tucker tensor train fails to load.

  • ValueError – Error raised if the Tucker tensor train fails is inconsistent.

Examples

>>> import numpy as np
>>> import t3toolbox.tucker_tensor_train as t3
>>> x = t3.TuckerTensorTrain.randn((14,15,16), (4,5,6), (1,3,2,1))
>>> fname = 't3_file.npz'
>>> x.save(fname) # Save to file 't3_file.npz'
>>> x2 = t3.TuckerTensorTrain.load(fname) # Load from file
>>> tucker_cores, tt_cores = x.data
>>> tucker_cores2, tt_cores2 = x2.data
>>> print([float(np.linalg.norm(B - B2)) for B, B2 in zip(tucker_cores, tucker_cores2)])
[0.0, 0.0, 0.0]
>>> print([float(np.linalg.norm(G - G2)) for G, G2 in zip(tt_cores, tt_cores2)])
[0.0, 0.0, 0.0]