Skip to main content

Online quantum machine learning package, using PyTorch.

Project description

online-qml

online-qml is a PyTorch based package for quantum extreme learning machines (QELM) simulations. It is with online shadow training readouts.

The distribution name is online-qml; the import name is online_qml.

Installation

Clone and sync with uv

Clone the repository, then sync the project environment:

git clone https://github.com/alex180500/online-qml.git
cd online-qml
uv sync

The default uv sync installs:

  • package dependencies;
  • development tools from the dev dependency group;
  • the CPU PyTorch build from https://download.pytorch.org/whl/cpu.

To install the default CPU environment without development tools:

uv sync --no-dev

Supported PyTorch backends for local uv sync are:

Backend Command
CPU uv sync
CPU, no dev tools uv sync --no-dev
CUDA 12.6 uv sync --no-group cpu --extra cu126
CUDA 12.8 uv sync --no-group cpu --extra cu128
CUDA 13.0 uv sync --no-group cpu --extra cu130

The cpu group is enabled by default. Disable it when selecting a CUDA extra, otherwise uv will reject the sync because two Torch backends were requested.

Install as a dependency with pip

When online-qml is installed with pip, only the package dependencies are installed. The local uv dependency groups, including dev and cpu, are not installed by downstream projects.

Install the desired PyTorch build first, then install online-qml:

python -m pip install --index-url https://download.pytorch.org/whl/cpu "torch>=2.11"
python -m pip install online-qml

For CUDA, use the matching PyTorch wheel index:

Backend PyTorch install command
CPU python -m pip install --index-url https://download.pytorch.org/whl/cpu "torch>=2.11"
CUDA 12.6 python -m pip install --index-url https://download.pytorch.org/whl/cu126 "torch>=2.11"
CUDA 12.8 python -m pip install --index-url https://download.pytorch.org/whl/cu128 "torch>=2.11"
CUDA 13.0 python -m pip install --index-url https://download.pytorch.org/whl/cu130 "torch>=2.11"

Then install online-qml:

python -m pip install online-qml

Do not rely on pip install "online-qml[cu130]" by itself to select the CUDA wheel index. Package extras can request torch, but pip package metadata cannot carry the uv source-index routing from this repository.

Current focus

  • generate Haar pure states and random Naimark POVMs;
  • train OST and prior-frame readout layers;
  • train dense pseudoinverse/ridge baselines;
  • evaluate Haar bias and variance;
  • study state-frame and measurement-frame distances.

Minimal example

import torch
from online_qml.quantum import sample_dm, sample_povm, shots_outcome
from online_qml.estimators import ShadowReadoutEstimator

states = sample_dm(1000, d=2, dtype=torch.cdouble)
povm = sample_povm(16, d=2, dtype=torch.cdouble)
outcomes = shots_outcome(povm, states, shots=1)
obs = sample_dm(1, d=2, dtype=torch.cdouble).T

est = ShadowReadoutEstimator(
    n_out=16,
    d=2,
    dtype=torch.float64,
    methods=("ost", "state_prior_ost"),
)
est.update_single_shot(outcomes[:, 0], states)
layers = est.layers(obs)
W_ost = layers["ost"]
W_state_prior = layers["state_prior_ost"]

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

online_qml-0.4.1.tar.gz (20.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

online_qml-0.4.1-py3-none-any.whl (25.8 kB view details)

Uploaded Python 3

File details

Details for the file online_qml-0.4.1.tar.gz.

File metadata

  • Download URL: online_qml-0.4.1.tar.gz
  • Upload date:
  • Size: 20.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for online_qml-0.4.1.tar.gz
Algorithm Hash digest
SHA256 8e172f2121800ffaf53dcdd582a099bea27567d67281a96a4e6168d43a5ca091
MD5 14e618a72e5acfa6385a491be2e3dab0
BLAKE2b-256 89b2754b8873a3f4a29cba1a28ff54780ea80c7b240f72d2558d587d48d8a0bb

See more details on using hashes here.

File details

Details for the file online_qml-0.4.1-py3-none-any.whl.

File metadata

  • Download URL: online_qml-0.4.1-py3-none-any.whl
  • Upload date:
  • Size: 25.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for online_qml-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ee56b278401598783b3bdeb0e714f644368785e586cc76bc6c2804e0614433a7
MD5 9ac8269b13d35fff1536faa467616a17
BLAKE2b-256 e29c1c9482a26c423bb46dbd7faea0ad271724cab5fecab46aeb241f210fae57

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page