This repository contains sample apps for running ONNX models efficiently using ONNX Runtime, specifically targeting Qualcomm Hexagon NPU with QNN Execution Provider
App Name | Model Used | Providers | Quick Start | Notebook | Notes |
---|---|---|---|---|---|
'HRNet Pose Detection' | HRNetPose | CPU | Complete | Complete | None |
'DeepSeek Local' | DeepSeek | QNN | Complete | Complete | None |
These apps demonstrate end-to-end inference using ONNX Runtime on devices with Hexagon NPUs. Each app includes:
- Input preprocessing
- Onnx model inference
- Output postprocessing
Supported features:
- CPU fallback (if you don't have access to Hexagon NPU)
- Hexagon QNN Execution
- Python (version 3.11.+)
- If targeting Hexagon ensure you install ARM64 compatible Python version
- C and C++ support in Visual Studio
- Rust Support
>> git clone https://github.com/qualcomm/snapdragon-compute-samples.git
>> python -m venv venv
>> venv\Scripts\activate.ps1 # Linux: >> source venv/bin/activate
>> pip install -r \src\<App Name>\requirements.txt # Ex: pip install -r \src\deepseek_r1\requirements.txt
Model Name | Description | Download Source |
---|---|---|
HRNetPose | Human pose estimation | AI Hub |
DeepSeek R1 | Reasoning Language Model | s3 Bucket |
models.py will automatically place models in appropriate destination
>> python models.py --model_directory (absolute path to directory where models were downloaded)
App Name | CLI Command |
---|---|
'HRNet Pose Detection' | >> python ./src/hrnet_pose/main.py |
'DeepSeek Local' | >> python ./src/deepseek_r1/main.py |
We welcome contributions to this repository! Please refer to our contributing guide for how to contribute.
This project is licensed under the MIT