VIT: Optimized for Qualcomm Devices
VIT is a machine learning model that can classify images from the Imagenet dataset. It can also be used as a backbone in building more complex models for specific use cases.
This is based on the implementation of VIT found here. This repository contains pre-exported model files optimized for Qualcomm® devices. You can use the Qualcomm® AI Hub Models library to export with custom configurations. More details on model performance across various devices, can be found here.
Qualcomm AI Hub Models uses Qualcomm AI Hub Workbench to compile, profile, and evaluate this model. Sign up to run these models on a hosted Qualcomm® device.
Getting Started
There are two ways to deploy this model on your device:
Option 1: Download Pre-Exported Models
Below are pre-exported model assets ready for deployment.
| Runtime | Precision | Chipset | SDK Versions | Download |
|---|---|---|---|---|
| ONNX | float | Universal | QAIRT 2.45, ONNX Runtime 1.27.1 | Download |
| ONNX | w8a16 | Universal | QAIRT 2.45, ONNX Runtime 1.27.1 | Download |
| ONNX | w8a8 | Universal | QAIRT 2.45, ONNX Runtime 1.27.1 | Download |
| ONNX | w8a8_mixed_int16 | Universal | QAIRT 2.45, ONNX Runtime 1.27.1 | Download |
| QNN_DLC | float | Universal | QAIRT 2.45 | Download |
| QNN_DLC | w8a16 | Universal | QAIRT 2.45 | Download |
| QNN_DLC | w8a8 | Universal | QAIRT 2.45 | Download |
| TFLITE | float | Universal | QAIRT 2.45 | Download |
| TFLITE | w8a8 | Universal | QAIRT 2.45 | Download |
For more device-specific assets and performance metrics, visit VIT on Qualcomm® AI Hub.
Option 2: Export with Custom Configurations
Use the Qualcomm® AI Hub Models Python library to compile and export the model with your own:
- Custom weights (e.g., fine-tuned checkpoints)
- Custom input shapes
- Target device and runtime configurations
This option is ideal if you need to customize the model beyond the default configuration provided here.
See our repository for VIT on GitHub for usage instructions.
Model Details
Model Type: Model_use_case.image_classification
Model Stats:
- Input resolution: 224x224
- Model checkpoint: Imagenet
- Model size (float): 330 MB
- Model size (w8a16): 86.2 MB
- Model size (w8a8): 83.2 MB
- Number of parameters: 86.6M
Performance Summary
| Model | Runtime | Precision | Chipset | Inference Time (ms) | Peak Memory Range (MB) | Primary Compute Unit |
|---|---|---|---|---|---|---|
| VIT | ONNX | float | Snapdragon® X2 Elite | 3.869 ms | 2 - 2 MB | NPU |
| VIT | ONNX | float | Snapdragon® X Elite | 9.697 ms | 171 - 171 MB | NPU |
| VIT | ONNX | float | Snapdragon® 8 Gen 3 Mobile | 6.479 ms | 0 - 302 MB | NPU |
| VIT | ONNX | float | Snapdragon® 8 Gen 1 Mobile | 14.151 ms | 1 - 299 MB | NPU |
| VIT | ONNX | float | Qualcomm® Dragonwing™ IQ-8275 | 12.647 ms | 0 - 4 MB | NPU |
| VIT | ONNX | float | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 9.244 ms | 0 - 422 MB | NPU |
| VIT | ONNX | float | Qualcomm® QCS8450 | 14.151 ms | 1 - 299 MB | NPU |
| VIT | ONNX | float | Qualcomm® Dragonwing™ IQ-9075 | 12.098 ms | 0 - 4 MB | NPU |
| VIT | ONNX | float | Qualcomm® Dragonwing™ IQ-X7181 | 9.697 ms | 171 - 171 MB | NPU |
| VIT | ONNX | float | Qualcomm® Dragonwing™ Q-8750 | 4.636 ms | 0 - 170 MB | NPU |
| VIT | ONNX | float | Snapdragon® 8 Elite Mobile | 4.636 ms | 0 - 170 MB | NPU |
| VIT | ONNX | float | Snapdragon® 8 Elite Gen 5 Mobile | 3.564 ms | 0 - 159 MB | NPU |
| VIT | ONNX | w8a16 | Snapdragon® X2 Elite | 3.572 ms | 1 - 1 MB | NPU |
| VIT | ONNX | w8a16 | Snapdragon® X Elite | 8.223 ms | 85 - 85 MB | NPU |
| VIT | ONNX | w8a16 | Snapdragon® 8 Gen 3 Mobile | 5.344 ms | 0 - 320 MB | NPU |
| VIT | ONNX | w8a16 | Snapdragon® 8 Gen 1 Mobile | 9.255 ms | 0 - 323 MB | NPU |
| VIT | ONNX | w8a16 | Qualcomm® Dragonwing™ QCS6490 | 38.332 ms | 0 - 3 MB | NPU |
| VIT | ONNX | w8a16 | Qualcomm® Dragonwing™ IQ-8275 | 7.47 ms | 0 - 4 MB | NPU |
| VIT | ONNX | w8a16 | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 7.825 ms | 0 - 98 MB | NPU |
| VIT | ONNX | w8a16 | Qualcomm® QCS8450 | 9.255 ms | 0 - 323 MB | NPU |
| VIT | ONNX | w8a16 | Qualcomm® Dragonwing™ IQ-9075 | 7.935 ms | 0 - 3 MB | NPU |
| VIT | ONNX | w8a16 | Qualcomm® Dragonwing™ IQ-X7181 | 8.223 ms | 85 - 85 MB | NPU |
| VIT | ONNX | w8a16 | Qualcomm® Dragonwing™ Q-6690 | 106.969 ms | 0 - 465 MB | NPU |
| VIT | ONNX | w8a16 | Qualcomm® Dragonwing™ Q-7790 | 9.753 ms | 0 - 401 MB | NPU |
| VIT | ONNX | w8a16 | Qualcomm® Dragonwing™ Q-8750 | 4.091 ms | 0 - 264 MB | NPU |
| VIT | ONNX | w8a16 | Snapdragon® 8 Elite Mobile | 4.091 ms | 0 - 264 MB | NPU |
| VIT | ONNX | w8a16 | Snapdragon® 8 Elite Gen 5 Mobile | 3.089 ms | 0 - 266 MB | NPU |
| VIT | ONNX | w8a16 | Snapdragon® 7 Gen 4 Mobile | 9.753 ms | 0 - 401 MB | NPU |
| VIT | ONNX | w8a8 | Snapdragon® X2 Elite | 4.944 ms | 1 - 1 MB | NPU |
| VIT | ONNX | w8a8 | Snapdragon® X Elite | 10.979 ms | 86 - 86 MB | NPU |
| VIT | ONNX | w8a8 | Snapdragon® 8 Gen 3 Mobile | 7.058 ms | 0 - 334 MB | NPU |
| VIT | ONNX | w8a8 | Snapdragon® 8 Gen 1 Mobile | 14.661 ms | 0 - 342 MB | NPU |
| VIT | ONNX | w8a8 | Qualcomm® Dragonwing™ QCS6490 | 74.034 ms | 0 - 3 MB | NPU |
| VIT | ONNX | w8a8 | Qualcomm® Dragonwing™ IQ-8275 | 10.181 ms | 0 - 4 MB | NPU |
| VIT | ONNX | w8a8 | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 10.507 ms | 0 - 98 MB | NPU |
| VIT | ONNX | w8a8 | Qualcomm® QCS8450 | 14.661 ms | 0 - 342 MB | NPU |
| VIT | ONNX | w8a8 | Qualcomm® Dragonwing™ IQ-9075 | 9.9 ms | 0 - 3 MB | NPU |
| VIT | ONNX | w8a8 | Qualcomm® Dragonwing™ IQ-X7181 | 10.979 ms | 86 - 86 MB | NPU |
| VIT | ONNX | w8a8 | Qualcomm® Dragonwing™ Q-6690 | 166.993 ms | 0 - 509 MB | NPU |
| VIT | ONNX | w8a8 | Qualcomm® Dragonwing™ Q-7790 | 18.871 ms | 0 - 336 MB | NPU |
| VIT | ONNX | w8a8 | Qualcomm® Dragonwing™ Q-8750 | 5.951 ms | 0 - 214 MB | NPU |
| VIT | ONNX | w8a8 | Snapdragon® 8 Elite Mobile | 5.951 ms | 0 - 214 MB | NPU |
| VIT | ONNX | w8a8 | Snapdragon® 8 Elite Gen 5 Mobile | 4.301 ms | 0 - 221 MB | NPU |
| VIT | ONNX | w8a8 | Snapdragon® 7 Gen 4 Mobile | 18.871 ms | 0 - 336 MB | NPU |
| VIT | ONNX | w8a8_mixed_int16 | Snapdragon® 8 Gen 3 Mobile | 15.976 ms | 17 - 499 MB | NPU |
| VIT | ONNX | w8a8_mixed_int16 | Snapdragon® 8 Gen 1 Mobile | 31.408 ms | 13 - 481 MB | NPU |
| VIT | ONNX | w8a8_mixed_int16 | Qualcomm® Dragonwing™ IQ-8275 | 24.238 ms | 16 - 19 MB | NPU |
| VIT | ONNX | w8a8_mixed_int16 | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 22.09 ms | 16 - 19 MB | NPU |
| VIT | ONNX | w8a8_mixed_int16 | Qualcomm® QCS8450 | 31.408 ms | 13 - 481 MB | NPU |
| VIT | ONNX | w8a8_mixed_int16 | Qualcomm® Dragonwing™ IQ-9075 | 26.202 ms | 20 - 22 MB | NPU |
| VIT | ONNX | w8a8_mixed_int16 | Qualcomm® Dragonwing™ Q-8750 | 12.745 ms | 93 - 446 MB | NPU |
| VIT | ONNX | w8a8_mixed_int16 | Snapdragon® 8 Elite Mobile | 12.745 ms | 93 - 446 MB | NPU |
| VIT | ONNX | w8a8_mixed_int16 | Snapdragon® 8 Elite Gen 5 Mobile | 10.123 ms | 18 - 386 MB | NPU |
| VIT | QNN_DLC | float | Snapdragon® X2 Elite | 5.73 ms | 1 - 1 MB | NPU |
| VIT | QNN_DLC | float | Snapdragon® X Elite | 12.692 ms | 1 - 1 MB | NPU |
| VIT | QNN_DLC | float | Snapdragon® 8 Gen 3 Mobile | 8.262 ms | 0 - 303 MB | NPU |
| VIT | QNN_DLC | float | Snapdragon® 8 Gen 1 Mobile | 15.564 ms | 0 - 303 MB | NPU |
| VIT | QNN_DLC | float | Qualcomm® Dragonwing™ IQ-8275 | 14.924 ms | 1 - 4 MB | NPU |
| VIT | QNN_DLC | float | Qualcomm® Dragonwing™ IQ-8275 | 42.297 ms | 1 - 168 MB | NPU |
| VIT | QNN_DLC | float | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 11.866 ms | 1 - 2 MB | NPU |
| VIT | QNN_DLC | float | Qualcomm® SA8775P | 14.651 ms | 1 - 169 MB | NPU |
| VIT | QNN_DLC | float | Qualcomm® SA8650P | 14.651 ms | 1 - 169 MB | NPU |
| VIT | QNN_DLC | float | Qualcomm® SA8255P | 14.651 ms | 1 - 169 MB | NPU |
| VIT | QNN_DLC | float | Qualcomm® QCS8450 | 15.564 ms | 0 - 303 MB | NPU |
| VIT | QNN_DLC | float | Qualcomm® Dragonwing™ IQ-9075 | 14.839 ms | 1 - 3 MB | NPU |
| VIT | QNN_DLC | float | Qualcomm® Dragonwing™ IQ-X7181 | 12.692 ms | 1 - 1 MB | NPU |
| VIT | QNN_DLC | float | Qualcomm® Dragonwing™ Q-8750 | 6.187 ms | 1 - 172 MB | NPU |
| VIT | QNN_DLC | float | Qualcomm® SA7255P | 42.297 ms | 1 - 168 MB | NPU |
| VIT | QNN_DLC | float | Qualcomm® SA8295P | 16.192 ms | 1 - 164 MB | NPU |
| VIT | QNN_DLC | float | Snapdragon® 8 Elite Mobile | 6.187 ms | 1 - 172 MB | NPU |
| VIT | QNN_DLC | float | Snapdragon® 8 Elite Gen 5 Mobile | 5.183 ms | 1 - 159 MB | NPU |
| VIT | QNN_DLC | w8a16 | Snapdragon® X2 Elite | 9.168 ms | 0 - 0 MB | NPU |
| VIT | QNN_DLC | w8a16 | Snapdragon® X Elite | 13.315 ms | 0 - 0 MB | NPU |
| VIT | QNN_DLC | w8a16 | Snapdragon® 8 Gen 3 Mobile | 8.688 ms | 0 - 336 MB | NPU |
| VIT | QNN_DLC | w8a16 | Qualcomm® Dragonwing™ IQ-8275 | 11.821 ms | 0 - 3 MB | NPU |
| VIT | QNN_DLC | w8a16 | Qualcomm® Dragonwing™ IQ-8275 | 28.652 ms | 0 - 276 MB | NPU |
| VIT | QNN_DLC | w8a16 | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 12.404 ms | 0 - 2 MB | NPU |
| VIT | QNN_DLC | w8a16 | Qualcomm® SA8775P | 12.798 ms | 0 - 278 MB | NPU |
| VIT | QNN_DLC | w8a16 | Qualcomm® SA8650P | 12.798 ms | 0 - 278 MB | NPU |
| VIT | QNN_DLC | w8a16 | Qualcomm® SA8255P | 12.798 ms | 0 - 278 MB | NPU |
| VIT | QNN_DLC | w8a16 | Qualcomm® Dragonwing™ IQ-9075 | 12.627 ms | 2 - 4 MB | NPU |
| VIT | QNN_DLC | w8a16 | Qualcomm® Dragonwing™ IQ-X7181 | 13.315 ms | 0 - 0 MB | NPU |
| VIT | QNN_DLC | w8a16 | Qualcomm® Dragonwing™ Q-6690 | 122.065 ms | 0 - 477 MB | NPU |
| VIT | QNN_DLC | w8a16 | Qualcomm® Dragonwing™ Q-7790 | 18.092 ms | 0 - 430 MB | NPU |
| VIT | QNN_DLC | w8a16 | Qualcomm® Dragonwing™ Q-8750 | 6.315 ms | 0 - 277 MB | NPU |
| VIT | QNN_DLC | w8a16 | Qualcomm® SA7255P | 28.652 ms | 0 - 276 MB | NPU |
| VIT | QNN_DLC | w8a16 | Snapdragon® 8 Elite Mobile | 6.315 ms | 0 - 277 MB | NPU |
| VIT | QNN_DLC | w8a16 | Snapdragon® 8 Elite Gen 5 Mobile | 4.778 ms | 0 - 280 MB | NPU |
| VIT | QNN_DLC | w8a16 | Snapdragon® 7 Gen 4 Mobile | 18.092 ms | 0 - 430 MB | NPU |
| VIT | QNN_DLC | w8a8 | Snapdragon® X2 Elite | 5.371 ms | 0 - 0 MB | NPU |
| VIT | QNN_DLC | w8a8 | Snapdragon® X Elite | 11.302 ms | 0 - 0 MB | NPU |
| VIT | QNN_DLC | w8a8 | Snapdragon® 8 Gen 3 Mobile | 7.035 ms | 0 - 321 MB | NPU |
| VIT | QNN_DLC | w8a8 | Snapdragon® 8 Gen 1 Mobile | 15.37 ms | 0 - 333 MB | NPU |
| VIT | QNN_DLC | w8a8 | Qualcomm® Dragonwing™ QCS6490 | 74.159 ms | 0 - 2 MB | NPU |
| VIT | QNN_DLC | w8a8 | Qualcomm® Dragonwing™ IQ-8275 | 10.163 ms | 0 - 3 MB | NPU |
| VIT | QNN_DLC | w8a8 | Qualcomm® Dragonwing™ IQ-8275 | 31.163 ms | 0 - 202 MB | NPU |
| VIT | QNN_DLC | w8a8 | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 10.613 ms | 0 - 2 MB | NPU |
| VIT | QNN_DLC | w8a8 | Qualcomm® SA8775P | 10.352 ms | 0 - 201 MB | NPU |
| VIT | QNN_DLC | w8a8 | Qualcomm® SA8650P | 10.352 ms | 0 - 201 MB | NPU |
| VIT | QNN_DLC | w8a8 | Qualcomm® SA8255P | 10.352 ms | 0 - 201 MB | NPU |
| VIT | QNN_DLC | w8a8 | Qualcomm® QCS8450 | 15.37 ms | 0 - 333 MB | NPU |
| VIT | QNN_DLC | w8a8 | Qualcomm® Dragonwing™ IQ-9075 | 10.043 ms | 0 - 2 MB | NPU |
| VIT | QNN_DLC | w8a8 | Qualcomm® Dragonwing™ IQ-X7181 | 11.302 ms | 0 - 0 MB | NPU |
| VIT | QNN_DLC | w8a8 | Qualcomm® Dragonwing™ Q-6690 | 259.059 ms | 0 - 508 MB | NPU |
| VIT | QNN_DLC | w8a8 | Qualcomm® Dragonwing™ Q-7790 | 18.558 ms | 0 - 331 MB | NPU |
| VIT | QNN_DLC | w8a8 | Qualcomm® Dragonwing™ Q-8750 | 6.012 ms | 0 - 203 MB | NPU |
| VIT | QNN_DLC | w8a8 | Qualcomm® SA7255P | 31.163 ms | 0 - 202 MB | NPU |
| VIT | QNN_DLC | w8a8 | Qualcomm® SA8295P | 17.412 ms | 0 - 211 MB | NPU |
| VIT | QNN_DLC | w8a8 | Snapdragon® 8 Elite Mobile | 6.012 ms | 0 - 203 MB | NPU |
| VIT | QNN_DLC | w8a8 | Snapdragon® 8 Elite Gen 5 Mobile | 4.342 ms | 0 - 209 MB | NPU |
| VIT | QNN_DLC | w8a8 | Snapdragon® 7 Gen 4 Mobile | 18.558 ms | 0 - 331 MB | NPU |
| VIT | TFLITE | float | Snapdragon® 8 Gen 3 Mobile | 6.802 ms | 0 - 296 MB | NPU |
| VIT | TFLITE | float | Snapdragon® 8 Gen 1 Mobile | 15.181 ms | 0 - 300 MB | NPU |
| VIT | TFLITE | float | Qualcomm® Dragonwing™ IQ-8275 | 13.011 ms | 0 - 173 MB | NPU |
| VIT | TFLITE | float | Qualcomm® Dragonwing™ IQ-8275 | 38.525 ms | 0 - 169 MB | NPU |
| VIT | TFLITE | float | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 9.335 ms | 0 - 2 MB | NPU |
| VIT | TFLITE | float | Qualcomm® SA8775P | 12.566 ms | 0 - 169 MB | NPU |
| VIT | TFLITE | float | Qualcomm® SA8650P | 12.566 ms | 0 - 169 MB | NPU |
| VIT | TFLITE | float | Qualcomm® SA8255P | 12.566 ms | 0 - 169 MB | NPU |
| VIT | TFLITE | float | Qualcomm® QCS8450 | 15.181 ms | 0 - 300 MB | NPU |
| VIT | TFLITE | float | Qualcomm® Dragonwing™ IQ-9075 | 12.543 ms | 0 - 173 MB | NPU |
| VIT | TFLITE | float | Qualcomm® Dragonwing™ Q-8750 | 4.84 ms | 0 - 178 MB | NPU |
| VIT | TFLITE | float | Qualcomm® SA7255P | 38.525 ms | 0 - 169 MB | NPU |
| VIT | TFLITE | float | Qualcomm® SA8295P | 15.709 ms | 0 - 163 MB | NPU |
| VIT | TFLITE | float | Snapdragon® 8 Elite Mobile | 4.84 ms | 0 - 178 MB | NPU |
| VIT | TFLITE | float | Snapdragon® 8 Elite Gen 5 Mobile | 3.742 ms | 0 - 166 MB | NPU |
| VIT | TFLITE | w8a8 | Snapdragon® 8 Gen 3 Mobile | 9.526 ms | 0 - 477 MB | NPU |
| VIT | TFLITE | w8a8 | Snapdragon® 8 Gen 1 Mobile | 21.586 ms | 0 - 467 MB | NPU |
| VIT | TFLITE | w8a8 | Qualcomm® Dragonwing™ QCS6490 | 140.58 ms | 1 - 100 MB | NPU |
| VIT | TFLITE | w8a8 | Qualcomm® Dragonwing™ IQ-8275 | 13.606 ms | 0 - 87 MB | NPU |
| VIT | TFLITE | w8a8 | Qualcomm® Dragonwing™ IQ-8275 | 37.357 ms | 0 - 341 MB | NPU |
| VIT | TFLITE | w8a8 | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 13.765 ms | 0 - 2 MB | NPU |
| VIT | TFLITE | w8a8 | Qualcomm® SA8775P | 13.786 ms | 0 - 342 MB | NPU |
| VIT | TFLITE | w8a8 | Qualcomm® SA8650P | 13.786 ms | 0 - 342 MB | NPU |
| VIT | TFLITE | w8a8 | Qualcomm® SA8255P | 13.786 ms | 0 - 342 MB | NPU |
| VIT | TFLITE | w8a8 | Qualcomm® QCS8450 | 21.586 ms | 0 - 467 MB | NPU |
| VIT | TFLITE | w8a8 | Qualcomm® Dragonwing™ IQ-9075 | 13.915 ms | 0 - 87 MB | NPU |
| VIT | TFLITE | w8a8 | Qualcomm® Dragonwing™ Q-6690 | 201.664 ms | 2 - 259 MB | NPU |
| VIT | TFLITE | w8a8 | Qualcomm® Dragonwing™ Q-7790 | 30.919 ms | 1 - 187 MB | NPU |
| VIT | TFLITE | w8a8 | Qualcomm® Dragonwing™ Q-8750 | 7.781 ms | 0 - 333 MB | NPU |
| VIT | TFLITE | w8a8 | Qualcomm® SA7255P | 37.357 ms | 0 - 341 MB | NPU |
| VIT | TFLITE | w8a8 | Qualcomm® SA8295P | 21.436 ms | 0 - 333 MB | NPU |
| VIT | TFLITE | w8a8 | Snapdragon® 8 Elite Mobile | 7.781 ms | 0 - 333 MB | NPU |
| VIT | TFLITE | w8a8 | Snapdragon® 8 Elite Gen 5 Mobile | 5.511 ms | 0 - 351 MB | NPU |
| VIT | TFLITE | w8a8 | Snapdragon® 7 Gen 4 Mobile | 30.919 ms | 1 - 187 MB | NPU |
License
- The license for the original implementation of VIT can be found here.
References
- An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale
- Source Model Implementation
Community
- Join our AI Hub Slack community to collaborate, post questions and learn more about on-device AI.
- For questions or feedback please reach out to us.
