Reproduction Code for: On Reducing the Amount of Samples Required for Training of QNNs (doi:10.18419/darus-3445)

View:

Part 1: Document Description
Part 2: Study Description
Part 5: Other Study-Related Materials
Entire Codebook

Document Description

Citation

Title:

Reproduction Code for: On Reducing the Amount of Samples Required for Training of QNNs

Identification Number:

doi:10.18419/darus-3445

Distributor:

DaRUS

Date of Distribution:

2023-09-27

Version:

1

Bibliographic Citation:

Mandl, Alexander; Barzen, Johanna; Leymann, Frank; Mangold, Victoria; Riegel, Benedikt; Vietz, Daniel; Winterhalter, Felix, 2023, "Reproduction Code for: On Reducing the Amount of Samples Required for Training of QNNs", https://doi.org/10.18419/darus-3445, DaRUS, V1

Study Description

Citation

Title:

Reproduction Code for: On Reducing the Amount of Samples Required for Training of QNNs

Subtitle:

Constraints on the Linear Structure of the Training Data

Identification Number:

doi:10.18419/darus-3445

Authoring Entity:

Mandl, Alexander (University of Stuttgart, Institute of Architecture of Application Systems)

Barzen, Johanna (University of Stuttgart, Institute of Architecture of Application Systems)

Leymann, Frank (University of Stuttgart, Institute of Architecture of Application Systems)

Mangold, Victoria (University of Stuttgart, Institute of Architecture of Application Systems)

Riegel, Benedikt (University of Stuttgart, Institute of Architecture of Application Systems)

Vietz, Daniel (University of Stuttgart, Institute of Architecture of Application Systems)

Winterhalter, Felix (University of Stuttgart, Institute of Architecture of Application Systems)

Grant Number:

01MK20005N

Grant Number:

01MQ22007B

Distributor:

DaRUS

Access Authority:

Mandl, Alexander

Depositor:

Mandl, Alexander

Date of Deposit:

2023-05-02

Holdings Information:

https://doi.org/10.18419/darus-3445

Study Scope

Keywords:

Computer and Information Science, Quantum Neural Network, Quantum Computing, No Free Lunch Theorem, Quantum Entanglement

Abstract:

<p> Replication code for training Quantum Neural Networks using entangled datasets. <br />This is the version of the code that was used to generate the experiment results in the related publication. For future developments and discussion see <a href="https://github.com/UST-QuAntiL/entangled_qnn_training">the Github repository</a>. <p/> <p> <b>Experiments:</b><br /> <code>avg_rank_exp.py</code>: Experiments for training QNNs using training data of varying Schmidt rank<br /> <code>nlihx_exp.py</code>: Experiments for training QNNs using linearly dependent data<br /> <code>ortho_exp.py</code>: Experiments for training QNNs using orthogonal training data<br /> </p> <p> <b>Visualisation/Analysis of data (plots.py):</b><br /> - Generates plots for the experiments above either from the data in <code>experimental_results</code> or from the processed results (see Data).<br /> - Processes results to extract information from raw data in <code>experimental_results</code> (to change behavior see the function calls at the end of <code>plots.py</code>).<br /> </p> <p> <b>Data:</b><br /> The raw data for the experiments is available in <a href="https://doi.org/10.18419/darus-3442">the experiment dataset</a>. </p>

Methodology and Processing

Sources Statement

Data Access

Other Study Description Materials

Related Materials

Github Repository: <a href="https://github.com/UST-QuAntiL/entangled_qnn_training">UST-QuAntiL/entangled_qnn_training</a>

Related Studies

Mandl, Alexander; Barzen, Johanna; Leymann, Frank; Mangold, Victoria; Riegel, Benedikt; Vietz, Daniel; Winterhalter, Felix, 2023, "Data Repository for: On Reducing the Amount of Samples Required for Training of QNNs", <a href="https://doi.org/10.18419/darus-3442">https://doi.org/10.18419/darus-3442</a>, DaRUS

Other Study-Related Materials

Label:

avg_rank_exp.py

Text:

Experiments for training QNNs using training data of varying Schmidt rank.

Notes:

text/x-python

Other Study-Related Materials

Label:

classic_training.py

Text:

Cost function and training routines procedures for PyTorch QNN simulation.

Notes:

text/x-python

Other Study-Related Materials

Label:

config.py

Text:

Configuration structures for experiments.

Notes:

text/x-python

Other Study-Related Materials

Label:

cost_modifying_functions.py

Text:

Various functions to modify the loss function after evaluation.

Notes:

text/x-python

Other Study-Related Materials

Label:

data.py

Text:

Data generation routines for the experiments.

Notes:

text/x-python

Other Study-Related Materials

Label:

generate_experiments.py

Text:

Experiment entry point. Generates training data, calls simulation and training routines and saves results. Also responsible for distributing experiment workloads to multiple processors.

Notes:

text/x-python

Other Study-Related Materials

Label:

logger.py

Text:

Logging utilities

Notes:

text/x-python

Other Study-Related Materials

Label:

metrics.py

Text:

Functions for evaluating the quantum risk

Notes:

text/x-python

Other Study-Related Materials

Label:

nlihx_exp.py

Text:

Experiments for training QNNs using linearly dependent data.

Notes:

text/x-python

Other Study-Related Materials

Label:

ortho_exp.py

Text:

Experiments for training QNNs using orthogonal training data.

Notes:

text/x-python

Other Study-Related Materials

Label:

plots.py

Text:

Python script for generating the plots for the quantum risk for all experiments and for aggregating and analyzing the raw experiment results

Notes:

text/x-python

Other Study-Related Materials

Label:

README.md

Text:

Readme file with additional information.

Notes:

text/markdown

Other Study-Related Materials

Label:

requirements.txt

Text:

Python requirements for reproduction.

Notes:

text/plain

Other Study-Related Materials

Label:

utils.py

Text:

Utility functions for data generation and experiment setup.

Notes:

text/x-python

Other Study-Related Materials

Label:

vis_utils.py

Text:

Utility functions for visualisation.

Notes:

text/x-python

Other Study-Related Materials

Label:

cuda_qnn.py

Text:

QNN ansatz implementations for classical simulation using PyTorch.

Notes:

text/x-python

Other Study-Related Materials

Label:

qnn.py

Text:

General QNN description

Notes:

text/x-python

Other Study-Related Materials

Label:

quantum_gates.py

Text:

Gate implementations of common quantum gates for simulation.

Notes:

text/x-python