tltorch
.TuckerTensor
- class tltorch.TuckerTensor(*args, **kwargs)[source]
Tucker Factorization
- Parameters
- core
- factors
- shape
- rank
- Attributes
decomposition
Returns the factors and parameters composing the tensor in factorized form
Methods
from_tensor
(tensor[, rank, fixed_rank_modes])init_from_tensor
(tensor[, unsqueezed_modes, ...])Initialize the tensor factorization from a tensor
new
(shape, rank[, fixed_rank_modes, device, ...])normal_
([mean, std])Inialize the factors of the factorization such that the reconstruction follows a Gaussian distribution
Reconstruct the full tensor from its factorized form
- init_from_tensor(tensor, unsqueezed_modes=None, unsqueezed_init='average', **kwargs)[source]
Initialize the tensor factorization from a tensor
- Parameters
- tensortorch.Tensor
full tensor to decompose
- unsqueezed_modesint list
list of modes for which the rank is 1 that don’t correspond to a mode in the full tensor essentially we are adding a new dimension for which the core has dim 1, and that is not initialized through decomposition. Instead first tensor is decomposed into the other factors. The unsqueezed factors are then added and initialized e.g. with 1/dim[i]
- unsqueezed_init‘average’ or float
if unsqueezed_modes, this is how the added “unsqueezed” factors will be initialized if ‘average’, then unsqueezed_factor[i] will have value 1/tensor.shape[i]
- property decomposition
Returns the factors and parameters composing the tensor in factorized form
- to_tensor()[source]
Reconstruct the full tensor from its factorized form
- normal_(mean=0, std=1)[source]
Inialize the factors of the factorization such that the reconstruction follows a Gaussian distribution
- Parameters
- meanfloat, currently only 0 is supported
- stdfloat
standard deviation
- Returns
- self