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 thebase.pyscript, but use the QTT-based approach (note that results are much more better then in thebase.pyexample);qtt_max.py- we do almost the same as in theqtt.py, but consider the maximization task;qtt_100d.py- we do almost the same as in theqtt.pyscript, 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 thetensor.pyscript, 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.0of thettoptpackage (and to very old version of thetenevapackage), 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 foldercomputations_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)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| ttopt-0.6.2.tar.gz | 19.0 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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.