Skip to main content

ttopt

Description

Gradient-free optimization method for multivariable functions based on the low rank tensor train (TT) format and maximal-volume principle.

Please, see also our software product teneva which provides a very compact implementation of basic operations in the TT-format.

Installation

You can install the ttopt package for python >= 3.7 with pip:

pip install ttopt==0.6.2

Examples

The demo-scripts with detailed comments are collected in the folder demo:

  • base.py - we find the minimum for the 10-dimensional function with vectorized input;
  • qtt.py - we do almost the same as in the base.py script, but use the QTT-based approach (note that results are much more better then in the base.py example);
  • qtt_max.py - we do almost the same as in the qtt.py, but consider the maximization task;
  • qtt_100d.py - we do almost the same as in the qtt.py script, but approximate the 100-dimensional function;
  • vect.py - we find the minimum for the simple analytic function with "simple input" (the function is not vectorized);
  • cache.py - we find the minimum for the simple analytic function to demonstrate the usage of the cache;
  • tensor.py - in this example we find the minimum for the multidimensional array/tensor (i.e., discrete function);
  • tensor_init - we do almost the same as in the tensor.py script, but we use special method of initialization (instead of a random tensor, we select a set of starting multi-indices for the search).

Authors

Citation

If you find this approach and/or code useful in your research, please consider citing:

@article{sozykin2022ttopt,
    author    = {Sozykin, Konstantin and Chertkov, Andrei and Schutski, Roman and Phan, Anh-Huy and Cichocki, Andrzej and Oseledets, Ivan},
    year      = {2022},
    title     = {{TTOpt}: {A} maximum volume quantized tensor train-based optimization and its application to reinforcement learning},
    journal   = {Advances in Neural Information Processing Systems},
    volume    = {35},
    pages     = {26052--26065},
    url       = {https://proceedings.neurips.cc/paper_files/paper/2022/hash/a730abbcd6cf4a371ca9545db5922442-Abstract-Conference.html}
}

Please, note that the calculations presented in this paper correspond to version <0.5.0 of the ttopt package (and to very old version of the teneva package), to run the calculations, please use the appropriate version. In the new versions >=0.6.0, we have removed all the corresponding folders in the folder computations_old. In the future, we will try to update the interface of these experiments.


✭__🚂 The stars that you give to ttopt, motivate us to develop faster and add new interesting features to the code 😃

Metadata

Release files for ttopt 0.6.2

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

Source distribution (sdist)

Source distribution for ttopt 0.6.2
File Size Uploaded Provenance
ttopt-0.6.2.tar.gz 19.0 kB Without provenance Details

Built distribution (wheel)

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

Total release size: 34.6 kB

Release files / ttopt-0.6.2.tar.gz

Download URL ttopt-0.6.2.tar.gz
Size 19.0 kB
Tags Source
SHA-256 checksum
How to use checksums
77d7cd58e41e4f70f2451f013c96c7992db0cd034b99c5288ab5014dca502b83
BLAKE2b-256 checksum
How to use checksums
062f591163d11d33de8a691808ba13a54bc370b9e5556653e8dc26cd5a714ccf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.8.17

Release files / ttopt-0.6.2-py3-none-any.whl

Download URL ttopt-0.6.2-py3-none-any.whl
Size 15.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ab6ac5e1261eaa4e34fb0208de27f296904de78ff62b4b6a318ad2f36dfa52ee
BLAKE2b-256 checksum
How to use checksums
51a29479574706205649a7e316fb178bc32f882df43f21607a8bbb36dd4c742e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.8.17

Security for ttopt 0.6.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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