PyCon Thailand 2025 Workshop
A comprehensive hands-on workshop exploring Quantum Machine Learning, comparing Quantum vs Classical AI, and benchmarking Python, C++, and Rust implementations.
This workshop provides a complete journey through Quantum Machine Learning:
- Understanding Quantum AI - Does it exist? Is it better?
- Building Quantum Classifiers - Hands-on with PennyLane
- Quantum vs Classical Comparison - Head-to-head performance analysis
- Multi-Language Benchmarking - Python, C++, and Rust implementations
- Python 3.9 or higher
- (Optional) C++ compiler with C++17 support
- (Optional) Rust 1.70 or higher
# Clone the repository
git clone https://github.com/yourusername/pyconth-2025.git
cd pyconth-2025
# Install Python dependencies
cd python
pip install -r requirements.txt
# Verify installation
python -c "import pennylane; print('PennyLane version:', pennylane.__version__)"cd python
python quantum_classifier.pypython compare_models.pypyconth-2025/
├── python/ # Python implementations
│ ├── quantum_classifier.py # Quantum ML model (PennyLane)
│ ├── classical_classifier.py # Classical ML model (PyTorch)
│ ├── compare_models.py # Direct comparison
│ ├── benchmark_quantum.py # Python benchmarks
│ ├── utils/ # Data generation & visualization
│ └── requirements.txt
├── cpp/ # C++ high-performance simulator
│ ├── quantum_simulator.cpp
│ ├── CMakeLists.txt
│ └── README.md
├── rust/ # Rust safe quantum simulator
│ ├── src/main.rs
│ ├── Cargo.toml
│ └── README.md
├── notebooks/ # Jupyter workshop notebooks
│ ├── 01_introduction.ipynb
│ ├── 02_quantum_workshop.ipynb
│ ├── 03_classical_vs_quantum.ipynb
│ └── 04_language_benchmark.ipynb
├── results/ # Output directory
│ ├── plots/ # Visualizations
│ └── benchmarks/ # Performance data
└── docs/ # Additional documentation
Topics:
- What is Quantum Machine Learning?
- Current state of Quantum AI (NISQ era)
- Quantum advantage vs quantum supremacy
- Why learn quantum ML today?
Notebook: 01_introduction.ipynb
Topics:
- Data encoding with AngleEmbedding
- Variational quantum circuits
- Hybrid quantum-classical training
- Evaluating quantum models
Files:
- Notebook:
02_quantum_workshop.ipynb - Code:
quantum_classifier.py
What You'll Build:
from quantum_classifier import QuantumClassifier
# Create quantum classifier
qc = QuantumClassifier(n_qubits=4, n_layers=3)
# Train on data
qc.fit(X_train, y_train, n_epochs=100)
# Make predictions
predictions = qc.predict(X_test)Topics:
- Training both models on the same dataset
- Performance metrics comparison
- When does quantum help?
- Current limitations
Files:
- Notebook:
03_classical_vs_quantum.ipynb - Code:
compare_models.py
Results:
- Decision boundary visualizations
- Training curves comparison
- Accuracy and timing metrics
Topics:
- Python: Orchestration and prototyping
- C++: High-performance simulation
- Rust: Safe and fast systems
- Benchmark results
Files:
- Notebook:
04_language_benchmark.ipynb - Python:
benchmark_quantum.py - C++:
quantum_simulator.cpp - Rust:
main.rs
cd python
python benchmark_quantum.pycd cpp
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make
./bin/quantum_simulatorcd rust
cargo run --release| Model | Test Accuracy | Training Time | Parameters |
|---|---|---|---|
| Quantum | 0.95 | 45.2s | 36 |
| Classical | 0.93 | 12.3s | 186 |
Results may vary based on hardware and configuration
| Language | Avg Time/Exec | Speedup | Memory |
|---|---|---|---|
| Python | 1.2ms | 1x | ~50MB |
| C++ | 0.015ms | 80x | ~1MB |
| Rust | 0.016ms | 75x | ~1MB |
- Start with Part 1 (Introduction) to understand fundamentals
- Follow Part 2 (Quantum Workshop) to build your first model
- Use the interactive notebooks in Jupyter
- Experiment with different datasets and architectures
- Compare Part 3 results with your own experiments
- Modify the quantum circuit structure
- Implement custom quantum gates
- Build Part 4 benchmarks for different circuit depths
- Explore C++ and Rust implementations
- Try real quantum hardware (IBM Quantum, AWS Braket)
- PennyLane: Quantum machine learning framework
- NumPy: Numerical computing
- Matplotlib: Visualization
- PyTorch: Neural networks
- Scikit-learn: Classical ML algorithms
- C++17: High-performance computing
- Rust: Memory-safe systems programming
This is an educational workshop project. Feel free to:
- Report issues
- Suggest improvements
- Share your experiments
- Create pull requests
- Quantum Simulators: We use classical computers simulating quantum behavior
- NISQ Era: Real quantum computers are noisy and limited
- No Proven Advantage: Quantum ML hasn't shown clear advantage for practical problems yet
- Research Field: Technology is rapidly evolving
- Start with small circuits (4-8 qubits)
- Use simulators for learning
- Focus on understanding concepts
- Experiment with different architectures
- Compare with classical baselines
This project is created for educational purposes for PyCon Thailand 2025.
- PennyLane team for the excellent quantum ML framework
- PyCon Thailand 2025 organizers
- Quantum computing research community
For questions or feedback about this workshop:
- Create an issue in this repository
- Contact the workshop organizers
Built with ❤️ for PyCon Thailand 2025
Start your quantum computing journey today! 🚀
- ✅ Quantum AI exists but is in early research stage
- ✅ Python is the best language to start learning QML
- ✅ Hybrid approaches combine quantum and classical strengths
- ✅ C++ and Rust provide performance for production systems
- ✅ Now is the time to learn - be ready for the quantum future!