TensorKrowch: Smooth integration of tensor networks in machine learning
Abstract
Tensor networks are factorizations of high-dimensional tensors into networks of smaller tensors. They have applications in physics and mathematics, and recently have been proposed as promising machine learning architectures. To ease the integration of tensor networks in machine learning pipelines, we introduce TensorKrowch, an open source Python library built on top of PyTorch. Providing a user-friendly interface, TensorKrowch allows users to construct any tensor network, train it, and integrate it as a layer in more intricate deep learning models. In this paper, we describe the main functionality and basic usage of TensorKrowch, and provide technical details on its building blocks and the optimizations performed to achieve efficient operation.
Cite
@article{arxiv.2306.08595,
title = {TensorKrowch: Smooth integration of tensor networks in machine learning},
author = {José Ramón Pareja Monturiol and David Pérez-García and Alejandro Pozas-Kerstjens},
journal= {arXiv preprint arXiv:2306.08595},
year = {2024}
}
Comments
20 pages, 2 figures. The TensorKrowch GitHub repository is in https://github.com/joserapa98/tensorkrowch and the TensorKrowch documentation is in https://joserapa98.github.io/tensorkrowch. V3: Accepted version, corrected acknowledgments