Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

QCBM Tutorial #1053

Merged
merged 34 commits into from
May 22, 2024
Merged

QCBM Tutorial #1053

merged 34 commits into from
May 22, 2024

Conversation

Gopal-Dahale
Copy link
Contributor

@Gopal-Dahale Gopal-Dahale commented Mar 11, 2024

Title:
Quantum Circuit Born Machines
Summary:
Introduces the ideas of Quantum Circuit Born Machines (QCBMs) along with its gradient-based training. Applies QCBM to learn bars and stripes and two peaks dataset.
Relevant references:

Differentiable Learning of Quantum Circuit Born Machine

Possible Drawbacks:

Related GitHub Issues:


If you are writing a demonstration, please answer these questions to facilitate the marketing process.

  • GOALS — Why are we working on this now?: The purpose is to use PennyLane to implement a popular algorithm in unsupervised generative modelling based on the paper "Differentiable Learning of Quantum Circuit Born Machine".

  • AUDIENCE — Who is this for?: The demo provides a gentle introduction to QCBMs, making it suitable for beginners. It also targets individuals interested in generative modelling with quantum algorithms.

  • KEYWORDS — What words should be included in the marketing post?: QCBM, QML, MMD, Gradient-based Optimization

  • Which of the following types of documentation is most similar to your file?
    (more details here)

  • Tutorial
  • Demo
  • How-to

Copy link

github-actions bot commented Mar 12, 2024

Thank you for opening this pull request.

You can find the built site at this link.

Deployment Info:

  • Pull Request ID: 1053
  • Deployment SHA: 59d04e85169384d9b8502569ad4ad5c9decd608d
    (The Deployment SHA refers to the latest commit hash the docs were built from)

Note: It may take several minutes for updates to this pull request to be reflected on the deployed site.

@KetpuntoG
Copy link
Contributor

Hello! Good job here @Gopal-Dahale !
Is it ready for us to review?
We are short of time during these next two weeks but we will get to it as soon as we can 💪

@Gopal-Dahale
Copy link
Contributor Author

@KetpuntoG Yes it is ready for review.

Copy link
Contributor

@KetpuntoG KetpuntoG left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great job! Thanks for working on this 😊
Here I share with you a first round of comments.

Although all the content looks good, I am convinced that we can make this demo shine much more 🚀Also I would try to make the structure follow a more continuous thread instead of marking epigraphs like "Loss" or "Gradient".

This demo is a great reference for that: https://pennylane.ai/qml/demos/tutorial_intro_qsvt/

As you can see in that demo, the code is quite simplified and makes use of comments but not excessively. I'm sure you can get some good inspiration from the style 💪

demonstrations/tutorial_qcbm.py Outdated Show resolved Hide resolved
demonstrations/tutorial_qcbm.py Outdated Show resolved Hide resolved
demonstrations/tutorial_qcbm.py Outdated Show resolved Hide resolved
demonstrations/tutorial_qcbm.py Outdated Show resolved Hide resolved
demonstrations/tutorial_qcbm.py Outdated Show resolved Hide resolved
demonstrations/tutorial_qcbm.py Show resolved Hide resolved
demonstrations/tutorial_qcbm.py Outdated Show resolved Hide resolved
demonstrations/tutorial_qcbm.py Outdated Show resolved Hide resolved
demonstrations/tutorial_qcbm.py Show resolved Hide resolved
demonstrations/tutorial_qcbm.py Outdated Show resolved Hide resolved
Copy link
Contributor

@KetpuntoG KetpuntoG left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you very much for all the changes, it looks great!

I will talk to our designer to create the thumbnail. Do you have any suggestions on how it should look like?

Once you work on my last comments, I will assign a colleague for the second review :)

demonstrations/tutorial_qcbm.py Outdated Show resolved Hide resolved
demonstrations/tutorial_qcbm.py Show resolved Hide resolved
demonstrations/tutorial_qcbm.py Outdated Show resolved Hide resolved
demonstrations/tutorial_qcbm.py Outdated Show resolved Hide resolved
demonstrations/tutorial_qcbm.py Outdated Show resolved Hide resolved
demonstrations/tutorial_qcbm.py Outdated Show resolved Hide resolved
demonstrations/tutorial_qcbm.py Show resolved Hide resolved
demonstrations/tutorial_qcbm.py Show resolved Hide resolved
Co-authored-by: Guillermo Alonso-Linaje <[email protected]>
@Gopal-Dahale
Copy link
Contributor Author

I will talk to our designer to create the thumbnail. Do you have any suggestions on how it should look like?

Maybe a quantum circuit outputting a probability distribution. something similar to the quantum gan thumbnail. This is just a suggestion. I think PennyLane's design team is already well-versed and creative 😅.

Copy link
Collaborator

@alvaro-at-xanadu alvaro-at-xanadu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @Gopal-Dahale!

I'll be doing the second review for your demo. I'll get back to you by Friday. Looking forward to reading it 🤩!

Copy link
Collaborator

@alvaro-at-xanadu alvaro-at-xanadu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Amazing job! Results are super good and plotted in an intuitive way! Not many things to fix except for some typos, a bit of grammar, and maybe some clarity here and there 🚀 Will be ready to go soon ⭐

demonstrations/tutorial_qcbm.py Outdated Show resolved Hide resolved
demonstrations/tutorial_qcbm.py Outdated Show resolved Hide resolved
demonstrations/tutorial_qcbm.py Outdated Show resolved Hide resolved
demonstrations/tutorial_qcbm.py Outdated Show resolved Hide resolved
demonstrations/tutorial_qcbm.py Outdated Show resolved Hide resolved
demonstrations/tutorial_qcbm.py Show resolved Hide resolved
demonstrations/tutorial_qcbm.py Outdated Show resolved Hide resolved
demonstrations/tutorial_qcbm.py Outdated Show resolved Hide resolved
demonstrations/tutorial_qcbm.py Outdated Show resolved Hide resolved
demonstrations/tutorial_qcbm.py Outdated Show resolved Hide resolved
Gopal-Dahale and others added 3 commits April 12, 2024 22:31
Co-authored-by: Alvaro Ballon <[email protected]>
Co-authored-by: Alvaro Ballon <[email protected]>
Co-authored-by: Alvaro Ballon <[email protected]>
Gopal-Dahale and others added 2 commits April 12, 2024 22:56
Co-authored-by: Alvaro Ballon <[email protected]>
Co-authored-by: Alvaro Ballon <[email protected]>
@KetpuntoG
Copy link
Contributor

Great job! Once I update the thumbnail, it's ready to publish 😄
I'll talk to Marketing to see if we can find a slot for mid-May. Congratulations on your contribution! 🚀

@Gopal-Dahale
Copy link
Contributor Author

Thank you @KetpuntoG. @KetpuntoG and @alvaro-at-xanadu there are a few conversations which are yet to be resolved. Can you take a look at them? I have left some comments.

@KetpuntoG
Copy link
Contributor

I spoke with marketing and the demo will be released in mid-May, thanks!

Copy link
Contributor

@KetpuntoG KetpuntoG left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚀 Looks great

@Gopal-Dahale
Copy link
Contributor Author

@alvaro-at-xanadu what do you think?

@KetpuntoG KetpuntoG merged commit 25e2586 into PennyLaneAI:master May 22, 2024
10 checks passed
@EmilianoG-byte EmilianoG-byte mentioned this pull request Aug 5, 2024
3 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants