t3f - library for working with Tensor Train decomposition built on top of TensorFlow¶
t3f is a library for working with Tensor Train decomposition. Tensor Train decomposition is a generalization of the low-rank decomposition from matrices to tensors (=multidimensional arrays), i.e. it’s a tool to efficiently work with structured tensors. t3f is implemented on top of TensorFlow which gives it a few nice properties:
- GPU support – just run your model on a machine with a CUDA-enabled GPU and GPU version of the TensorFlow, and t3f will execute most of the operations on it.
- Autodiff – TensorFlow can automatically compute the derivative of a function with respect to the underlying parameters of the Tensor Train decomposition (TT-cores). Also, if you are into the Riemannian optimization, you can automatically compute the Riemannian gradient of a given function. Don’t worry if you don’t know what it is :)
- Batch processing – you can run a single vectorized operation on a set of Tensor Train objects.
- Easy to use with Deep Learning, e.g. you can define a layer parametrized with a Tensor Train object and use it as a part of your favorite neural network implemented in TensorFlow.
Getting started
Tutorials
Citation¶
If you use T3F in your research work, we kindly ask you to cite the paper describing this library
@article{JMLR:v21:18-008,
author = {Alexander Novikov and Pavel Izmailov and Valentin Khrulkov and Michael Figurnov and Ivan Oseledets},
title = {Tensor Train Decomposition on TensorFlow (T3F)},
journal = {Journal of Machine Learning Research},
year = {2020},
volume = {21},
number = {30},
pages = {1-7},
url = {http://jmlr.org/papers/v21/18-008.html}
}