# Quorus Source Code
This contains the source code for the submission for Quorus for ICLR 2026. It contains the implementation of a quantum federated learning framework using Pennylane and PyTorch.


# Setup
All experiments were ran with Python 3.12. Install dependencies in "requirements_base.txt" for running "qfl_main_test.py" to train models, and additional dependencies in "requirements_noise_hardware.txt" for running "test_noisesim_runs_ibmqpu.py".

To run noise simulations, a .env file containing IBM credentials must be provided.

# Configurations
The initial configurations used for the experiments are found in the initial_configs folder. They contain both the initial parameters, as well as the data used across MNIST and Fashion-MNIST binary classification (0/1, 3/4, and 4/9 for MNIST; Trouser/Boot (1/9), Bag/Sandal (5/8), and Pullover/Coat (2/4) classification for Fashion-MNIST). The data specifically contains the raw image training and testing data, where the training data is 128 datapoints per client allocated in an IID fashion.

# Usage
One only needs to specify their configuration in the "qfl_main_test.py" file for training the heterogenous QFL models. Comments in that file detail usage.

To run hardware evaluations, one only needs to modify configuration variables in "test_noisesim_runs_ibmqpu.py". Comments in that file detail usage.

The "utils_qfl_doc.py" file need not be changed and is a collection of functions used to run the code.