PennyLaneAI / qml

Introductions to key concepts in quantum programming, as well as tutorials and implementations from cutting-edge quantum computing research.
https://pennylane.ai/qml
Apache License 2.0
547 stars 188 forks source link

Continuous Variable Quantum Classifiers: MNIST #449

Closed sophchoe closed 2 years ago

sophchoe commented 2 years ago

General information

Name Sophie Choe

Affiliation (optional) Portland State University, Electrical and Computer Engineering

Twitter (optional) Your Twitter username, if interested; helps us advertise your demo while linking directly back to you.

Image (optional) Suggested image to use when advertising your demo on Twitter; can be provided via hyperlink or by copy/pasting directly in GitHub.


Demo information

Title Continuous Variable Quantum Classifiers: MNIST.

Abstract MNIST dataset classifiers using different number of qumodes: classical and CV quantum hybrid networks.

Relevant links Demo link Pre-print paper link Continuous variable quantum neural networks, Killoran et al., 2019

CatalinaAlbornoz commented 2 years ago

Thank you for submitting this Demo @sophchoe! We will be reviewing it and letting you know when it's up on the website.

CatalinaAlbornoz commented 2 years ago

Hi @sophchoe! I'm very sorry for the delay in my response.

We have complemented the abstract information with the info that you had in the repo. This is how it's looking. Do you agree with the changes?

We built 8 MNIST dataset classifiers using 2-8 qumodes. This family of MNIST classifiers are classical-quantum hybrid circuits using Keras and PennyLane. The quantum circuit is composed of a data encoding circuit and a quantum neural network circuit as proposed in the paper "Continuous variable quantum neural networks" by Killoran et al. The PennyLane-TensorFlow interface converts the quantum circuit into a Keras layer, and the whole network is treated as a Keras network, to which Keras' built in loss function and optimizer can be applied for parameter updates. Categorical cross-entropy is used as the loss function and Stochastic Gradient Descent is used for the optimizer. Author affiliation: Portland State University, Electrical and Computer Engineering.

Also, the 4_qumode_classifier notebook does not run because the init_layer and layer functions are called in the quantum device, but they're not defined previously. Therefore, the classifier does not run (only in the 4 qumode case). If you can fix that detail we can post the demo on the website tomorrow!

CatalinaAlbornoz commented 2 years ago

Hi @sophchoe, please let us know when you have updated your demo and if you agree with the new description so that we can feature your Demo on the PennyLane website.