library_name: pytorch
license: other
tags:
- backbone
- android
pipeline_tag: image-classification
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.879 ms | 2 - 2 MB | NPU |
| VIT | ONNX | float | Snapdragon® X Elite | 9.689 ms | 170 - 170 MB | NPU |
| VIT | ONNX | float | Snapdragon® 8 Gen 3 Mobile | 6.47 ms | 1 - 302 MB | NPU |
| VIT | ONNX | float | Snapdragon® 8 Gen 1 Mobile | 14.173 ms | 1 - 299 MB | NPU |
| VIT | ONNX | float | Qualcomm® Dragonwing™ IQ-8275 | 12.961 ms | 0 - 4 MB | NPU |
| VIT | ONNX | float | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 9.235 ms | 0 - 194 MB | NPU |
| VIT | ONNX | float | Qualcomm® QCS8450 | 14.173 ms | 1 - 299 MB | NPU |
| VIT | ONNX | float | Qualcomm® Dragonwing™ IQ-9075 | 12.177 ms | 1 - 4 MB | NPU |
| VIT | ONNX | float | Qualcomm® Dragonwing™ IQ-X7181 | 9.689 ms | 170 - 170 MB | NPU |
| VIT | ONNX | float | Qualcomm® Dragonwing™ Q-8750 | 4.585 ms | 0 - 170 MB | NPU |
| VIT | ONNX | float | Snapdragon® 8 Elite Mobile | 4.585 ms | 0 - 170 MB | NPU |
| VIT | ONNX | float | Snapdragon® 8 Elite Gen 5 Mobile | 3.555 ms | 0 - 158 MB | NPU |
| VIT | ONNX | w8a16 | Snapdragon® X2 Elite | 3.575 ms | 1 - 1 MB | NPU |
| VIT | ONNX | w8a16 | Snapdragon® X Elite | 8.191 ms | 85 - 85 MB | NPU |
| VIT | ONNX | w8a16 | Snapdragon® 8 Gen 3 Mobile | 5.329 ms | 0 - 321 MB | NPU |
| VIT | ONNX | w8a16 | Snapdragon® 8 Gen 1 Mobile | 9.323 ms | 0 - 322 MB | NPU |
| VIT | ONNX | w8a16 | Qualcomm® Dragonwing™ QCS6490 | 38.302 ms | 0 - 3 MB | NPU |
| VIT | ONNX | w8a16 | Qualcomm® Dragonwing™ IQ-8275 | 7.455 ms | 0 - 4 MB | NPU |
| VIT | ONNX | w8a16 | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 7.812 ms | 0 - 98 MB | NPU |
| VIT | ONNX | w8a16 | Qualcomm® QCS8450 | 9.323 ms | 0 - 322 MB | NPU |
| VIT | ONNX | w8a16 | Qualcomm® Dragonwing™ IQ-9075 | 7.945 ms | 0 - 3 MB | NPU |
| VIT | ONNX | w8a16 | Qualcomm® Dragonwing™ IQ-X7181 | 8.191 ms | 85 - 85 MB | NPU |
| VIT | ONNX | w8a16 | Qualcomm® Dragonwing™ Q-6690 | 109.442 ms | 1 - 466 MB | NPU |
| VIT | ONNX | w8a16 | Qualcomm® Dragonwing™ Q-7790 | 9.687 ms | 0 - 396 MB | NPU |
| VIT | ONNX | w8a16 | Qualcomm® Dragonwing™ Q-8750 | 4.067 ms | 0 - 264 MB | NPU |
| VIT | ONNX | w8a16 | Snapdragon® 8 Elite Mobile | 4.067 ms | 0 - 264 MB | NPU |
| VIT | ONNX | w8a16 | Snapdragon® 8 Elite Gen 5 Mobile | 3.091 ms | 0 - 268 MB | NPU |
| VIT | ONNX | w8a16 | Snapdragon® 7 Gen 4 Mobile | 9.687 ms | 0 - 396 MB | NPU |
| VIT | ONNX | w8a8 | Snapdragon® X2 Elite | 4.94 ms | 1 - 1 MB | NPU |
| VIT | ONNX | w8a8 | Snapdragon® X Elite | 10.92 ms | 86 - 86 MB | NPU |
| VIT | ONNX | w8a8 | Snapdragon® 8 Gen 3 Mobile | 7.063 ms | 0 - 334 MB | NPU |
| VIT | ONNX | w8a8 | Snapdragon® 8 Gen 1 Mobile | 15.238 ms | 0 - 342 MB | NPU |
| VIT | ONNX | w8a8 | Qualcomm® Dragonwing™ QCS6490 | 73.486 ms | 0 - 3 MB | NPU |
| VIT | ONNX | w8a8 | Qualcomm® Dragonwing™ IQ-8275 | 10.235 ms | 0 - 4 MB | NPU |
| VIT | ONNX | w8a8 | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 10.489 ms | 0 - 99 MB | NPU |
| VIT | ONNX | w8a8 | Qualcomm® QCS8450 | 15.238 ms | 0 - 342 MB | NPU |
| VIT | ONNX | w8a8 | Qualcomm® Dragonwing™ IQ-9075 | 9.894 ms | 0 - 3 MB | NPU |
| VIT | ONNX | w8a8 | Qualcomm® Dragonwing™ IQ-X7181 | 10.92 ms | 86 - 86 MB | NPU |
| VIT | ONNX | w8a8 | Qualcomm® Dragonwing™ Q-6690 | 250.726 ms | 0 - 504 MB | NPU |
| VIT | ONNX | w8a8 | Qualcomm® Dragonwing™ Q-7790 | 18.89 ms | 0 - 338 MB | NPU |
| VIT | ONNX | w8a8 | Qualcomm® Dragonwing™ Q-8750 | 5.975 ms | 0 - 213 MB | NPU |
| VIT | ONNX | w8a8 | Snapdragon® 8 Elite Mobile | 5.975 ms | 0 - 213 MB | NPU |
| VIT | ONNX | w8a8 | Snapdragon® 8 Elite Gen 5 Mobile | 4.298 ms | 0 - 221 MB | NPU |
| VIT | ONNX | w8a8 | Snapdragon® 7 Gen 4 Mobile | 18.89 ms | 0 - 338 MB | NPU |
| VIT | ONNX | w8a8_mixed_int16 | Snapdragon® 8 Gen 3 Mobile | 15.939 ms | 19 - 501 MB | NPU |
| VIT | ONNX | w8a8_mixed_int16 | Snapdragon® 8 Gen 1 Mobile | 31.211 ms | 16 - 487 MB | NPU |
| VIT | ONNX | w8a8_mixed_int16 | Qualcomm® Dragonwing™ IQ-8275 | 24.165 ms | 16 - 19 MB | NPU |
| VIT | ONNX | w8a8_mixed_int16 | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 21.795 ms | 16 - 20 MB | NPU |
| VIT | ONNX | w8a8_mixed_int16 | Qualcomm® QCS8450 | 31.211 ms | 16 - 487 MB | NPU |
| VIT | ONNX | w8a8_mixed_int16 | Qualcomm® Dragonwing™ IQ-9075 | 25.143 ms | 17 - 19 MB | NPU |
| VIT | ONNX | w8a8_mixed_int16 | Qualcomm® Dragonwing™ Q-8750 | 13.521 ms | 17 - 371 MB | NPU |
| VIT | ONNX | w8a8_mixed_int16 | Snapdragon® 8 Elite Mobile | 13.521 ms | 17 - 371 MB | NPU |
| VIT | ONNX | w8a8_mixed_int16 | Snapdragon® 8 Elite Gen 5 Mobile | 10.058 ms | 19 - 384 MB | NPU |
| VIT | QNN_DLC | float | Snapdragon® X2 Elite | 5.755 ms | 1 - 1 MB | NPU |
| VIT | QNN_DLC | float | Snapdragon® X Elite | 12.644 ms | 1 - 1 MB | NPU |
| VIT | QNN_DLC | float | Snapdragon® 8 Gen 3 Mobile | 8.263 ms | 0 - 305 MB | NPU |
| VIT | QNN_DLC | float | Snapdragon® 8 Gen 1 Mobile | 15.437 ms | 0 - 303 MB | NPU |
| VIT | QNN_DLC | float | Qualcomm® Dragonwing™ IQ-8275 | 14.903 ms | 1 - 4 MB | NPU |
| VIT | QNN_DLC | float | Qualcomm® Dragonwing™ IQ-8275 | 42.281 ms | 1 - 168 MB | NPU |
| VIT | QNN_DLC | float | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 11.86 ms | 1 - 2 MB | NPU |
| VIT | QNN_DLC | float | Qualcomm® SA8775P | 14.623 ms | 1 - 169 MB | NPU |
| VIT | QNN_DLC | float | Qualcomm® SA8650P | 14.623 ms | 1 - 169 MB | NPU |
| VIT | QNN_DLC | float | Qualcomm® SA8255P | 14.623 ms | 1 - 169 MB | NPU |
| VIT | QNN_DLC | float | Qualcomm® QCS8450 | 15.437 ms | 0 - 303 MB | NPU |
| VIT | QNN_DLC | float | Qualcomm® Dragonwing™ IQ-9075 | 17.975 ms | 1 - 3 MB | NPU |
| VIT | QNN_DLC | float | Qualcomm® Dragonwing™ IQ-X7181 | 12.644 ms | 1 - 1 MB | NPU |
| VIT | QNN_DLC | float | Qualcomm® Dragonwing™ Q-8750 | 6.18 ms | 1 - 173 MB | NPU |
| VIT | QNN_DLC | float | Qualcomm® SA7255P | 42.281 ms | 1 - 168 MB | NPU |
| VIT | QNN_DLC | float | Qualcomm® SA8295P | 16.193 ms | 1 - 165 MB | NPU |
| VIT | QNN_DLC | float | Snapdragon® 8 Elite Mobile | 6.18 ms | 1 - 173 MB | NPU |
| VIT | QNN_DLC | float | Snapdragon® 8 Elite Gen 5 Mobile | 5.184 ms | 1 - 158 MB | NPU |
| VIT | QNN_DLC | w8a16 | Snapdragon® X2 Elite | 5.813 ms | 0 - 0 MB | NPU |
| VIT | QNN_DLC | w8a16 | Snapdragon® X Elite | 13.177 ms | 0 - 0 MB | NPU |
| VIT | QNN_DLC | w8a16 | Snapdragon® 8 Gen 3 Mobile | 8.736 ms | 0 - 337 MB | NPU |
| VIT | QNN_DLC | w8a16 | Qualcomm® Dragonwing™ IQ-8275 | 11.837 ms | 0 - 3 MB | NPU |
| VIT | QNN_DLC | w8a16 | Qualcomm® Dragonwing™ IQ-8275 | 28.674 ms | 0 - 276 MB | NPU |
| VIT | QNN_DLC | w8a16 | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 12.39 ms | 0 - 2 MB | NPU |
| VIT | QNN_DLC | w8a16 | Qualcomm® SA8775P | 12.786 ms | 0 - 278 MB | NPU |
| VIT | QNN_DLC | w8a16 | Qualcomm® SA8650P | 12.786 ms | 0 - 278 MB | NPU |
| VIT | QNN_DLC | w8a16 | Qualcomm® SA8255P | 12.786 ms | 0 - 278 MB | NPU |
| VIT | QNN_DLC | w8a16 | Qualcomm® Dragonwing™ IQ-9075 | 12.805 ms | 0 - 2 MB | NPU |
| VIT | QNN_DLC | w8a16 | Qualcomm® Dragonwing™ IQ-X7181 | 13.177 ms | 0 - 0 MB | NPU |
| VIT | QNN_DLC | w8a16 | Qualcomm® Dragonwing™ Q-6690 | 140.385 ms | 0 - 477 MB | NPU |
| VIT | QNN_DLC | w8a16 | Qualcomm® Dragonwing™ Q-7790 | 18.295 ms | 0 - 427 MB | NPU |
| VIT | QNN_DLC | w8a16 | Qualcomm® Dragonwing™ Q-8750 | 6.322 ms | 0 - 277 MB | NPU |
| VIT | QNN_DLC | w8a16 | Qualcomm® SA7255P | 28.674 ms | 0 - 276 MB | NPU |
| VIT | QNN_DLC | w8a16 | Snapdragon® 8 Elite Mobile | 6.322 ms | 0 - 277 MB | NPU |
| VIT | QNN_DLC | w8a16 | Snapdragon® 8 Elite Gen 5 Mobile | 4.777 ms | 0 - 280 MB | NPU |
| VIT | QNN_DLC | w8a16 | Snapdragon® 7 Gen 4 Mobile | 18.295 ms | 0 - 427 MB | NPU |
| VIT | QNN_DLC | w8a8 | Snapdragon® X2 Elite | 5.373 ms | 0 - 0 MB | NPU |
| VIT | QNN_DLC | w8a8 | Snapdragon® X Elite | 11.376 ms | 1 - 1 MB | NPU |
| VIT | QNN_DLC | w8a8 | Snapdragon® 8 Gen 3 Mobile | 7.045 ms | 0 - 322 MB | NPU |
| VIT | QNN_DLC | w8a8 | Snapdragon® 8 Gen 1 Mobile | 14.712 ms | 0 - 335 MB | NPU |
| VIT | QNN_DLC | w8a8 | Qualcomm® Dragonwing™ QCS6490 | 73.62 ms | 0 - 2 MB | NPU |
| VIT | QNN_DLC | w8a8 | Qualcomm® Dragonwing™ IQ-8275 | 10.152 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.635 ms | 0 - 11 MB | NPU |
| VIT | QNN_DLC | w8a8 | Qualcomm® SA8775P | 10.359 ms | 0 - 202 MB | NPU |
| VIT | QNN_DLC | w8a8 | Qualcomm® SA8650P | 10.359 ms | 0 - 202 MB | NPU |
| VIT | QNN_DLC | w8a8 | Qualcomm® SA8255P | 10.359 ms | 0 - 202 MB | NPU |
| VIT | QNN_DLC | w8a8 | Qualcomm® QCS8450 | 14.712 ms | 0 - 335 MB | NPU |
| VIT | QNN_DLC | w8a8 | Qualcomm® Dragonwing™ IQ-9075 | 10.045 ms | 2 - 4 MB | NPU |
| VIT | QNN_DLC | w8a8 | Qualcomm® Dragonwing™ IQ-X7181 | 11.376 ms | 1 - 1 MB | NPU |
| VIT | QNN_DLC | w8a8 | Qualcomm® Dragonwing™ Q-6690 | 251.718 ms | 0 - 508 MB | NPU |
| VIT | QNN_DLC | w8a8 | Qualcomm® Dragonwing™ Q-7790 | 18.693 ms | 0 - 334 MB | NPU |
| VIT | QNN_DLC | w8a8 | Qualcomm® Dragonwing™ Q-8750 | 6.011 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.47 ms | 0 - 211 MB | NPU |
| VIT | QNN_DLC | w8a8 | Snapdragon® 8 Elite Mobile | 6.011 ms | 0 - 203 MB | NPU |
| VIT | QNN_DLC | w8a8 | Snapdragon® 8 Elite Gen 5 Mobile | 4.339 ms | 0 - 211 MB | NPU |
| VIT | QNN_DLC | w8a8 | Snapdragon® 7 Gen 4 Mobile | 18.693 ms | 0 - 334 MB | NPU |
| VIT | TFLITE | float | Snapdragon® 8 Gen 3 Mobile | 6.798 ms | 0 - 302 MB | NPU |
| VIT | TFLITE | float | Snapdragon® 8 Gen 1 Mobile | 15.253 ms | 0 - 300 MB | NPU |
| VIT | TFLITE | float | Qualcomm® Dragonwing™ IQ-8275 | 13.013 ms | 0 - 173 MB | NPU |
| VIT | TFLITE | float | Qualcomm® Dragonwing™ IQ-8275 | 38.633 ms | 0 - 168 MB | NPU |
| VIT | TFLITE | float | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 9.349 ms | 0 - 3 MB | NPU |
| VIT | TFLITE | float | Qualcomm® SA8775P | 12.52 ms | 0 - 170 MB | NPU |
| VIT | TFLITE | float | Qualcomm® SA8650P | 12.52 ms | 0 - 170 MB | NPU |
| VIT | TFLITE | float | Qualcomm® SA8255P | 12.52 ms | 0 - 170 MB | NPU |
| VIT | TFLITE | float | Qualcomm® QCS8450 | 15.253 ms | 0 - 300 MB | NPU |
| VIT | TFLITE | float | Qualcomm® Dragonwing™ IQ-9075 | 12.582 ms | 0 - 173 MB | NPU |
| VIT | TFLITE | float | Qualcomm® Dragonwing™ Q-8750 | 4.822 ms | 0 - 176 MB | NPU |
| VIT | TFLITE | float | Qualcomm® SA7255P | 38.633 ms | 0 - 168 MB | NPU |
| VIT | TFLITE | float | Qualcomm® SA8295P | 15.651 ms | 0 - 162 MB | NPU |
| VIT | TFLITE | float | Snapdragon® 8 Elite Mobile | 4.822 ms | 0 - 176 MB | NPU |
| VIT | TFLITE | float | Snapdragon® 8 Elite Gen 5 Mobile | 3.737 ms | 0 - 166 MB | NPU |
| VIT | TFLITE | w8a8 | Snapdragon® 8 Gen 3 Mobile | 9.505 ms | 0 - 474 MB | NPU |
| VIT | TFLITE | w8a8 | Snapdragon® 8 Gen 1 Mobile | 21.726 ms | 0 - 466 MB | NPU |
| VIT | TFLITE | w8a8 | Qualcomm® Dragonwing™ QCS6490 | 147.572 ms | 1 - 100 MB | NPU |
| VIT | TFLITE | w8a8 | Qualcomm® Dragonwing™ IQ-8275 | 13.645 ms | 0 - 87 MB | NPU |
| VIT | TFLITE | w8a8 | Qualcomm® Dragonwing™ IQ-8275 | 37.336 ms | 0 - 341 MB | NPU |
| VIT | TFLITE | w8a8 | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 13.797 ms | 0 - 2 MB | NPU |
| VIT | TFLITE | w8a8 | Qualcomm® SA8775P | 13.795 ms | 0 - 342 MB | NPU |
| VIT | TFLITE | w8a8 | Qualcomm® SA8650P | 13.795 ms | 0 - 342 MB | NPU |
| VIT | TFLITE | w8a8 | Qualcomm® SA8255P | 13.795 ms | 0 - 342 MB | NPU |
| VIT | TFLITE | w8a8 | Qualcomm® QCS8450 | 21.726 ms | 0 - 466 MB | NPU |
| VIT | TFLITE | w8a8 | Qualcomm® Dragonwing™ IQ-9075 | 14.268 ms | 0 - 87 MB | NPU |
| VIT | TFLITE | w8a8 | Qualcomm® Dragonwing™ Q-6690 | 203.327 ms | 1 - 259 MB | NPU |
| VIT | TFLITE | w8a8 | Qualcomm® Dragonwing™ Q-7790 | 30.996 ms | 1 - 187 MB | NPU |
| VIT | TFLITE | w8a8 | Qualcomm® Dragonwing™ Q-8750 | 7.791 ms | 0 - 344 MB | NPU |
| VIT | TFLITE | w8a8 | Qualcomm® SA7255P | 37.336 ms | 0 - 341 MB | NPU |
| VIT | TFLITE | w8a8 | Qualcomm® SA8295P | 21.403 ms | 0 - 335 MB | NPU |
| VIT | TFLITE | w8a8 | Snapdragon® 8 Elite Mobile | 7.791 ms | 0 - 344 MB | NPU |
| VIT | TFLITE | w8a8 | Snapdragon® 8 Elite Gen 5 Mobile | 5.523 ms | 0 - 350 MB | NPU |
| VIT | TFLITE | w8a8 | Snapdragon® 7 Gen 4 Mobile | 30.996 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.
