This repository explores the implementation of hybrid quantum-classical machine learning algorithms, inspired by cutting-edge research in quantum-enhanced machine learning. The focus is on leveraging quantum computing platforms like Qiskit, Cirq, and others to solve problems in computer vision and beyond.
Key highlights include:
- Hybrid Models: Combining quantum and classical computing approaches.
- Quantum Algorithms: Exploring data re-uploading schemes, patch-based GANs, and quantum-enhanced optimization.
- Applications: Practical implementations for tasks such as image classification, feature extraction, and generative modeling.
- Demonstrate the potential of quantum computing in enhancing traditional ML tasks.
- Implement algorithms discussed in quantum ML research papers.
- Provide clear and reproducible code for hybrid quantum-classical models.
- Serve as a learning resource for quantum ML enthusiasts.
- Quantum Data Re-Uploading: Implementing quantum circuits for efficient data encoding and iterative processing.
- Patch-Based Generative Adversarial Networks (GANs): Enhancing image generation with quantum elements.
- Quantum Optimization: Solving ML optimization problems with quantum algorithms.
- Visualization: Using tools to visualize quantum circuits and results.
-
Quantum Computing Frameworks:
- Qiskit (IBM)
- Cirq (Google)
- TensorFlow Quantum
-
Programming Language: Python
-
Libraries:
numpy
,scikit-learn
,matplotlib
for classical ML.- Quantum SDK libraries (Qiskit, Cirq) for quantum implementations.
-
Platforms:
- IBM Quantum for Qiskit-based experiments.
- Google Quantum AI for Cirq-based models.
Quantum-Enhanced-ML-Applications/
│
├── data/
│ ├── raw/ # Raw datasets used in experiments
│ └── processed/ # Preprocessed datasets
│
├── models/
│ ├── quantum_data_reuploading/ # Quantum data re-uploading implementation
│ └── patch_gan/ # Patch GAN with quantum circuits
│
├── notebooks/
│ ├── experiments.ipynb # Jupyter notebooks for model experiments
│ └── visualization.ipynb # Quantum circuit and result visualization
│
├── src/
│ ├── utils.py # Utility scripts for preprocessing and evaluation
│ └── quantum_models.py # Implementation of hybrid quantum-classical models
│
├── results/ # Results and logs from experiments
│
└── README.md # Repository documentation
- Python 3.8+
- Install the required libraries using the following command:
pip install -r requirements.txt
- Set up access to a quantum computing platform:
- For Qiskit: IBM Quantum
- For Cirq: Google Quantum AI
- Clone this repository:
git clone https://github.com/iamvisheshsrivastava/Quantum-Enhanced-ML-Applications.git cd Quantum-Enhanced-ML-Applications
- Set up a virtual environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
- Explore the Jupyter notebooks in the
notebooks/
folder to understand individual experiments. - Modify the configuration in
src/quantum_models.py
to run different models. - Run experiments directly from the terminal:
python src/quantum_models.py
- Initial setup of the repository
- Implementation of quantum data re-uploading scheme
- Implementation of patch-based GAN with quantum elements
- Optimization experiments using quantum annealing
- Adding more datasets for testing and validation
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a new branch for your feature or fix:
git checkout -b feature-name
- Commit your changes:
git commit -m "Add new feature"
- Push to the branch:
git push origin feature-name
- Submit a pull request.
This project is licensed under the MIT License - see the LICENSE file for details.
For any questions or suggestions, feel free to reach out:
- Email: [email protected]
- LinkedIn: Vishesh Srivastava