/Quantum_storm-chasers

We propose an quantum image processing platform covering various verticals such as weather forecasting. They all can be modeled using recurrent neural networks due to their temporal interactions. In our detailed business proposal we describe the weather forecast image processing vertical.

Primary LanguageJupyter Notebook

Project Description

In the following project we apply various Quantum algorithms using Qiskit to weather related image data. Our business proposal is also aligned with developing a quantum weathert application. We have also partially implemented a quantum SVM in Pennylane, but it still needs some work.

Tthe technical documentation (by Saesun Kim & Ricky. Y) found in

Technical Analysis Paper

Our business proposal (by Silvia Tzenkova) for a quantum algorithm company focused on weather is found here:

Business Analysis Paper

Here is the presentation slide by Ricky. Y, Saesun Kim, and Silvia Tzenkova

presentation

Setup

Example:

  1. Make sure you have X installed and configured.

  2. Set up your preferred virtual environment.

  3. pip install -r requirements.txt

Installation/plugins with jupyter

nbstripout is a great option for clearing the output of the jupyter notebooks. It can be installed using pip install nbstripout. For more info see below in before you commit section

nbdime is a great tool for looking at the git diff for jupyter notebooks.

For jupyterlab there is a market place extension which you need to enable first and that will let you search and install extensions from within jupyter lab. You can enable the marketplace extension with the following code:

jupyter labextension install @jupyter-widgets/jupyterlab-manager

For jupyter notebook, there is a similar extension but that just gets you all the extension in one go and lets you enable or disable them from the jupyter home page toolbar. You can install the extension for the jupyter notebook using: pip install jupyter_contrib_nbextensions

jupyter contrib nbextension install --user

Before you commit or do a pull request:

Since jupyter is not just a text file and uses JSON format, everytime code/markdown is changed in jupyter notebook, lot of information about the layout changes as well. This is especially the case for python code which outputs pictures/graphs. The pictures are stored as text which show up in the diff. This complicates the git diff. And hence, the best way to version control jupyter notebooks is by clearing the output before doing a commit. We have been using nbstripout for clearing output from notebooks automatically. You can install nbtripout using pip install nbstripout. Please make sure to run nbstripout notebook.ipynb to clear the output in a file. To clear the output in all the notebooks in a given folder, you can run it on a folder, e.g. the command nbstripout Qube/* clears the output from all the notebooks in Qube folder.

CDL-Quantum/Hackathon2021

This project won CDL hackathon