SkillAgentSearch skills...

Tn4ml

Tensor Networks for Machine Learning

Install / Use

/learn @bsc-quantic/Tn4ml

README

<img src="docs/_static/logo_light.png" position="center" alt="logo" width="300" height="200">

Tensor Networks for Machine Learning

Static Badge Static Badge<br> tn4ml is a Python library that handles tensor networks for machine learning applications.<br> It is built on top of Quimb, for Tensor Network objects, and JAX, for optimization pipeline.<br> For now, the library supports 1D Tensor Network structures:

  • Matrix Product State
  • Matrix Product Operator
  • Spaced Matrix Product Operator

It supports different embedding functions, initialization techniques, objective functions and optimization strategies.<br>

Installation

First create a virtualenv using pyenv or conda. Then install the package and its dependencies. <br>

With pip (tag v1.0.5):

pip install tn4ml
<br>

or directly from github:

pip install -U git+https://github.com/bsc-quantic/tn4ml.git
<br>

If you want to test and edit the code, you can clone the local version of the package and install it.

git clone https://github.com/bsc-quantic/tn4ml.git
pip install -e tn4ml/

If you want to install dependices for docs, test and examples:

pip install "tn4ml[docs]"
pip install "tn4ml[test]"
pip install "tn4ml[examples]"

Accelerated runtime <br>

(Optional) To improve runtime precision set these flags:

jax.config.update("jax_enable_x64", True)
jax.config.update('jax_default_matmul_precision', 'highest')

Running on GPU<br> Before everything install JAX version that supports CUDA and its suitable for runs on GPU.<br> Checkout how to install here: jax[cuda] <br>

Next, at the beginning of your script set:

import os
os.environ["CUDA_VISIBLE_DEVICES"] = "0"  # Use GPU 0 - or set any GPU ID
import jax
jax.config.update("jax_platform_name", 'gpu')

Then when training Model set:

device = 'gpu'
model.configure(device=device)

Documentation

Visit tn4ml.readthedocs.io

Example notebooks

TN for Classification<br> TN for Anomaly Detection<br> TN for Anomaly Detection with DMRG-like method

Examples from the paper

Breast Cancer Classification<br> Unsupervised Learning with MNIST<br> MPS for Anomaly Detection in the Latent Space of Proton Collision Events at the LHC

Citation

If you use tn4ml in your work, please cite the following paper: arXiv:2502.13090

@article{puljak2025tn4mltensornetworktraining,
      title={tn4ml: Tensor Network Training and Customization for Machine Learning}, 
      author={Ema Puljak and Sergio Sanchez-Ramirez and Sergi Masot-Llima and Jofre Vallès-Muns and Artur Garcia-Saez and Maurizio Pierini},
      year={2025},
      eprint={2502.13090},
      archivePrefix={arXiv},
      primaryClass={cs.LG},
      url={https://arxiv.org/abs/2502.13090}, 
      }

License

MIT license - check it out here

View on GitHub
GitHub Stars23
CategoryEducation
Updated1mo ago
Forks7

Languages

Python

Security Score

95/100

Audited on Feb 14, 2026

No findings