All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Full TF 2 support, including e.g. the Keras module.
- Added bilinear_ab function
- Fix some dtype bugs
- Switch to TF 2.4
1.1.0 - 2019-10-22
- Proper documentation with tutorials.
- Benchmarks.
- Asymptotic complexities of some function in the docstrings.
- Eager mode support.
- Ops have name scopes now.
- Riemannian autodiff (Yey!)
- Better support for using dtypes other than float32.
- Neural network module.
- Change to support TF 1.12-1.14 instead of TF 1.0-1.4
- Bug fixes.
- Bug fix in benchmarks.
- Rename quadratic_form to bilinear_form.
- Better test coverage.
1.0.0 - 2018-01-08
- API reference documentation.
- Coveralls test coverage.
- add_projected function for adding tensors from the same tangent space.
- add_n_projected function.
- Test TF 1.0-1.4
- Test Python 2.7, 3.4, 3.5, 3.6
- tf.kronecker module for working with Kornecker product matrices (TT-matrices of TT-rank 1).
- Example Jupyter notebooks with basic functionality, TensorNet (training neural networks with params in the TT-format), Riemannian optimization, and tensor completion.
- A profiler for basic operations on CPU and GPU.
- approximate.add_n function for adding together a batch of tensors and rounding after each summation.
- Manually import all the relevant function in init and avoid importing internal tools.
- gather_nd for gathering several elements from a TT-objects at once.
- Overload operations to support
a - b
,a + -b
,0.4 * a
. - Add complexities of some functions into the docstrings.
- Speed improvements (in particular to quadratic_form).
- Bug fixes.
- Multiplication by a number uniformly multiplies all cores (improved stability for large tensors).
- Better test coverage.
0.3.0 - 2017-04-20
- Python 3 support.
- Speed improvements.
- Bug fixes.
- Travis CI.
- project_matmul -- fast projection of matrix-by-vector product.
- pairwise_flat_inner_projected -- fast pairwise dot products between projections on the same tangent space.
- multiply_along_batch_dim
- Support for indexing with placeholders or tf.Tensors.
- Support for t3f.cast(batch_tt).
- A function to replace tf.svd by np.svd.
- Better Frobenius norm implementation (via QR).
- Riemannian projection API: now it's project(what, where).
0.2.0 - 2017-03-23
- (Partial) support for batches of TT-tensors.
- Riemannian module (projection on the tangent space).
- op property and str method for TensorTrain
- concat_along_batch_dim
- expand_batch_dim
- gram_matrix
- Multiplication by a number
- Fix add function for dtypes not equal tf.float32
- flat_inner and quadratic_form now return numbers (instead of 1 x 1 tensors)
0.1.0 - 2017-03-12
- Indexing (e.g. TensorTrain[:, 3, 2:4])
- Full (converting TT to dense)
- TT-SVD and rounding
- Basic arithmetic (add, multiply, matmul, flat_inner)
- Variables support
- Kronecker module (functions for TT-rank 1 TT-matrices)
- quadratic_form
- frobenius_norm