Ttopt
Gradient-free optimization method for multivariable functions based on the low rank tensor train (TT) format and maximal-volume principle.
Install / Use
/learn @AndreiChertkov/TtoptREADME
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 😃
Related Skills
node-connect
348.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
108.9kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
348.2kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
348.2kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
