Skip to main content

A framework for quantum federated learning across heterogeneous quantum clients

Project description

Layerwise Federated Learning for Heterogeneous Quantum Clients using Quorus

Overview

This repository provides an open-source, flexible package for federated learning using quantum clients with heterogenous quantum models.

Key Features

  1. Provides a ready-to-use executable file that can be configured by supplying your own .jsonc file.
  2. No outside FL packages are used in this repository. The FL framework is implemented from scratch (although heavily uses Pennylane for quantum circuit evaluation/gradient computation, and PyTorch for gradient calculation).

The package can also be adapted adapted by injecting your own functions from src/quorus/cli/qfl_main_test.py.

Usage

  1. In your terminal, run git clone https://github.com/positivetechnologylab/quorus.git to clone the repository.
  2. Run cd quorus.
  3. Create a virtual environment if necessary (our code uses Python 3.12.8), and run python -m pip install -e . to install the quorus package.
  4. Run quorus-exp --config <path_to_config_jsonc>.
  5. The results will be stored in a generated log folder.

Configurations

Please see json_configs for example configuration files to pass in. In a future version, we hope to add more complete documentation on the configurations.

Requirements

The requirements and specific versions are provided in pyproject.toml. In future versions of this package, we hope to make these requirements more loose (for now, we provide the specific versions that were used in our experiments.) src/quorus/cli/ibm_hardware_runs.py require a variable "IBMQ_TOKEN" and "IBMQ_CRN" in a .env file to connect to the IBM Quantum Cloud. In a future work, we hope to include the hardware runs as an easy-to-use executable.

Side Effects

The scripts will create folders containing the logs for each experiment. In addition, .pkl files may be created (for debugging).

Repository Structure

Future Work

In a future version, we hope to add unit and integration tests and integrate with a CI/CD pipeline for automated deployment.

Copyright

Copyright © 2025 Positive Technology Lab. All rights reserved. For permissions, contact ptl@rice.edu.

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

quorus-0.1.0.tar.gz (124.9 kB view details)

Uploaded Source

Built Distribution

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

quorus-0.1.0-py3-none-any.whl (175.5 kB view details)

Uploaded Python 3

File details

Details for the file quorus-0.1.0.tar.gz.

File metadata

  • Download URL: quorus-0.1.0.tar.gz
  • Upload date:
  • Size: 124.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for quorus-0.1.0.tar.gz
Algorithm Hash digest
SHA256 41cecd981000d2210c35f436ed569b58da60953733586b0ea545b82ec6eff7a5
MD5 b2dcfa9c0a960a2371dbe7d8b37c42a1
BLAKE2b-256 2227d234b21146c2ebe0d222708a180c0a45f33350c1112b0560ef5d74485ddf

See more details on using hashes here.

Provenance

The following attestation bundles were made for quorus-0.1.0.tar.gz:

Publisher: pypi-publish.yml on positivetechnologylab/Quorus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file quorus-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: quorus-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 175.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for quorus-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 dc8d1802ac1711e817ca24f2852e20a54601ad8ba85d59c42f48a3c4c57990b1
MD5 a778b8a774bde41fe3a04e62fb347283
BLAKE2b-256 78e9ab0b19457def65bbc0dbc298f7ffe410d1f8e6f6a36495e05d0def5da376

See more details on using hashes here.

Provenance

The following attestation bundles were made for quorus-0.1.0-py3-none-any.whl:

Publisher: pypi-publish.yml on positivetechnologylab/Quorus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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