Skip to main content

ttml

Tensor train based machine learning estimator.

Uses existing machine learning estimators to initialize a tensor train decomposition on a particular feature space discretization. Then this tensor train is further optimized with Riemannian conjugate gradient descent.

This library also implements much functionality related to tensor trains, and Riemannian optimization of tensor trains. Finally there is some functionality for turning decision trees and forests into CP/tensor trains.

Installation

The ttml python package can be installed using pip by running

    pip install ttml

or by cloning this repository and running the following command in the root directory of this project:

    git clone git@github.com:RikVoorhaar/ttml.git
    pip install .

If you want to reproduce the experiments discussed in our paper, then first clone this repository. Then run the script datasets/download_datasets.py to download all relevant datasets from the UCI Machine Learning Repository. Then all figures and results can be reproduced by the scripts in the notebooks folder. To install all the dependencies for the scripts and tests, you can use the conda environment defined in environment.yml.

Documentation

The documentation for this project lives on ttml.readthedocs.io.

Credits

All code for this library has been written by Rik Voorhaar, in a joint project with Bart Vandereycken. This has been performed in the scope of a Swiss National Science Foundation grant.

This software is free to use and edit. When using this software for academic purposes, please cite the following preprint:

@article{
    title = {TTML: Tensor Trains for general supervised machine learning},
    journal = {arXiv:2202.XXXXX},
    author = {Vandereycken, Bart and Voorhaar, Rik},
    year = {2022}, 
}

All figures in the preprint have been produced using version 1.0 of this software.

Metadata

Release files for ttml 1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ttml 1.0
File Size Uploaded
ttml-1.0.tar.gz 82.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ttml 1.0
File Interpreter ABI Platform
ttml-1.0-py3-none-any.whl Python 3 none any Details

Total release size: 179.1 kB

Release files / ttml-1.0.tar.gz

Download URL ttml-1.0.tar.gz
Size 82.1 kB
Tags Source
SHA-256 checksum
How to use checksums
3bbbc5e1afa17fef5f17a5a824f6950392b22394d2c356456fd621058fa11808
BLAKE2b-256 checksum
How to use checksums
c83034f07e8c3904d3d0a8d7fb38e09924a13216880492dd45155ca16fdc2321
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.26.0 requests-toolbelt/0.9.1 urllib3/1.26.6 tqdm/4.62.3 importlib-metadata/4.6.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.10

Release files / ttml-1.0-py3-none-any.whl

Download URL ttml-1.0-py3-none-any.whl
Size 97.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e53d1c6fb8a5a5755c5b05e4b7b1e86edf4f71547171a4880c98f85fd8720fe5
BLAKE2b-256 checksum
How to use checksums
c25e125e2e55ac39d85756710555768f5dde6cd20e143078d3e5a50c9dcc3514
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.26.0 requests-toolbelt/0.9.1 urllib3/1.26.6 tqdm/4.62.3 importlib-metadata/4.6.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.10

Release history Release notifications | RSS feed

This release

1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page