Need help with qml-mooc?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

qosf
202 Stars 103 Forks Other 256 Commits 1 Opened issues

Description

Lecture notebooks and coding assignments for the quantum machine learning MOOC created by Peter Wittek on EdX in the Spring 2019

Services available

!
?

Need anything else?

Contributors list

Note: this a fork of the original Gitlab repository of the MOOC, along with the official solutions. Since Peter Wittek, the creator of the MOOC, disappeared in an avalanche in October 2019, the future of the MOOC on edX is uncertain. This repository, along with the videos, should allow his work to survive and benefit everyone who wants to learn about quantum machine learning! Enjoy!

Quantum Machine Learning

The pace of development in quantum computing mirrors the rapid advances made in machine learning and artificial intelligence. It is natural to ask whether quantum technologies could boost learning algorithms: this field of enquiry is called quantum machine learning. This massively open online online course (MOOC) on edX is offered by the University of Toronto on edX with an emphasis on what benefits current and near-future quantum technologies may bring to machine learning. These notebooks contain the lecture notes and the code for the course. The content is organized in four modules, with an additional introductory module to the course itself.

Since the course is hands-on, we found it important that you can try the code on actual quantum computers if you want to. There isn't a single, unified programming framework that would allow to address all available quantum hardware. For this reason, the notebooks are available in two versions: one in Qiskit targeting the IBM Q hardware and the Forest SDK targetting the Rigetti quantum computer. The notebooks also cover quantum annealing -- for that, the D-Wave Ocean Suite is used. For more details on setting up your computational environment locally, refer to the notebooks in Module 0.

The code snippets in the notebooks are licensed under the MIT License. The text and figures are licensed under the Creative Commons Attribution 4.0 International Public License (CC-BY-4.0).

Prerequisites

Python and a good command of linear algebra are necessary. Experience with machine learning helps.

Structure

Module 0: Introduction

00CourseIntroduction.ipynb

00Introductionto_Cirq.ipynb

00Introductionto_Qiskit.ipynb

00IntroductiontotheForest_SDK.ipynb

Module 1: Quantum Systems

01ClassicalandQuantumProbability_Distributions.ipynb

02MeasurementsandMixedStates.ipynb

03EvolutioninClosedandOpenSystems.ipynb

04ClassicalandQuantumMany-Body_Physics.ipynb

Module 2: Quantum Computation

05Gate-ModelQuantum_Computing.ipynb

06AdiabaticQuantum_Computing.ipynb

07VariationalCircuits.ipynb

08SamplingaThermalState.ipynb

Module 3: Classical-quantum hybrid learning algorithms

09DiscreteOptimizationandEnsemble_Learning.ipynb

10DiscreteOptimizationandUnsupervised_Learning.ipynb

11KernelMethods.ipynb

12TrainingProbabilisticGraphicalModels.ipynb

Module 4: Coherent Learning Protocols

13QuantumPhase_Estimation.ipynb

14QuantumMatrix_Inversion.ipynb

Assignments

The assignments are included, but without the solutions. The master version is developed in a separate private repository. If you are an interested in using them for your own lectures, please contact us to give you access.

Contributing

We welcome contributions - simply fork the repository, and then make a pull request containing your contribution. We would especially love to see the course extended to other open source quantum computing frameworks. We also encourage bug reports and suggestions for enhancements.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.