# Setup Guide for Phase 4 Testing ## Quick Start 1. **Clone the repository:** ```bash git clone https://huggingface.co/jmurray10/phase4-quantum-compression cd phase4-quantum-compression ``` 2. **Install dependencies:** ```bash pip install -r requirements.txt ``` 3. **Test compressed models:** ```python import torch # Load compressed model model = torch.load('models/mlp_compressed_int8.pth') print(f"Model loaded successfully!") # Test inference test_input = torch.randn(1, 784) output = model(test_input) print(f"Output shape: {output.shape}") ``` 4. **Run validation tests:** ```bash python tests/test_saved_models.py python tests/test_compressed_model_usability.py ``` ## Available Models | Model | Type | Size | Path | |-------|------|------|------| | MLP Original | FP32 | 943KB | `models/mlp_original_fp32.pth` | | MLP Compressed | INT8 | 241KB | `models/mlp_compressed_int8.pth` | | CNN Original | FP32 | 1.69MB | `models/cnn_original_fp32.pth` | | CNN Compressed | INT8 | 483KB | `models/cnn_compressed_int8.pth` | ## Running Quantum Experiments ```python # Example: Run Grover's algorithm from src.quantum.qiskit.grover_aer import run_grover_experiment result = run_grover_experiment(n_qubits=3, marked_state=5) print(f"Success probability: {result['success_rate']:.3f}") ``` ## Energy Measurement ```python # Example: Measure model energy consumption from src.energy.energy_logger_nvml import EnergyLogger logger = EnergyLogger() energy = logger.measure_inference_energy(model, test_data) print(f"Energy consumed: {energy:.2f} J") ``` ## Reproducing Results All results can be reproduced by running the scripts in the `src/` directory. No hardcoded values - everything is computed at runtime!