Swin-Tiny: Optimized for Qualcomm Devices
SwinTiny 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 Swin-Tiny 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 |
| QNN_DLC | float | Universal | QAIRT 2.45 | Download |
| QNN_DLC | w8a16 | Universal | QAIRT 2.45 | Download |
| TFLITE | float | Universal | QAIRT 2.45 | Download |
For more device-specific assets and performance metrics, visit Swin-Tiny 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 Swin-Tiny 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): 110 MB
- Model size (w8a16): 29.9 MB
- Number of parameters: 28.8M
Performance Summary
| Model | Runtime | Precision | Chipset | Inference Time (ms) | Peak Memory Range (MB) | Primary Compute Unit |
|---|---|---|---|---|---|---|
| Swin-Tiny | ONNX | float | Snapdragon® X2 Elite | 3.949 ms | 2 - 2 MB | NPU |
| Swin-Tiny | ONNX | float | Snapdragon® X Elite | 9.433 ms | 57 - 57 MB | NPU |
| Swin-Tiny | ONNX | float | Snapdragon® 8 Gen 3 Mobile | 5.958 ms | 0 - 266 MB | NPU |
| Swin-Tiny | ONNX | float | Snapdragon® 8 Gen 1 Mobile | 13.851 ms | 0 - 254 MB | NPU |
| Swin-Tiny | ONNX | float | Qualcomm® Dragonwing™ IQ-8275 | 8.918 ms | 0 - 4 MB | NPU |
| Swin-Tiny | ONNX | float | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 8.958 ms | 0 - 67 MB | NPU |
| Swin-Tiny | ONNX | float | Qualcomm® QCS8450 | 13.851 ms | 0 - 254 MB | NPU |
| Swin-Tiny | ONNX | float | Qualcomm® Dragonwing™ IQ-9075 | 9.907 ms | 0 - 4 MB | NPU |
| Swin-Tiny | ONNX | float | Qualcomm® Dragonwing™ IQ-X7181 | 9.433 ms | 57 - 57 MB | NPU |
| Swin-Tiny | ONNX | float | Qualcomm® Dragonwing™ Q-8750 | 4.478 ms | 0 - 442 MB | NPU |
| Swin-Tiny | ONNX | float | Snapdragon® 8 Elite Mobile | 4.478 ms | 0 - 442 MB | NPU |
| Swin-Tiny | ONNX | float | Snapdragon® 8 Elite Gen 5 Mobile | 3.695 ms | 0 - 447 MB | NPU |
| Swin-Tiny | ONNX | w8a16 | Snapdragon® X2 Elite | 3.466 ms | 1 - 1 MB | NPU |
| Swin-Tiny | ONNX | w8a16 | Snapdragon® X Elite | 8.256 ms | 31 - 31 MB | NPU |
| Swin-Tiny | ONNX | w8a16 | Snapdragon® 8 Gen 3 Mobile | 5.147 ms | 0 - 334 MB | NPU |
| Swin-Tiny | ONNX | w8a16 | Snapdragon® 8 Gen 1 Mobile | 9.666 ms | 1 - 276 MB | NPU |
| Swin-Tiny | ONNX | w8a16 | Qualcomm® Dragonwing™ QCS6490 | 25.092 ms | 0 - 3 MB | NPU |
| Swin-Tiny | ONNX | w8a16 | Qualcomm® Dragonwing™ IQ-8275 | 7.063 ms | 0 - 4 MB | NPU |
| Swin-Tiny | ONNX | w8a16 | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 7.811 ms | 0 - 5 MB | NPU |
| Swin-Tiny | ONNX | w8a16 | Qualcomm® QCS8450 | 9.666 ms | 1 - 276 MB | NPU |
| Swin-Tiny | ONNX | w8a16 | Qualcomm® Dragonwing™ IQ-9075 | 8.14 ms | 0 - 3 MB | NPU |
| Swin-Tiny | ONNX | w8a16 | Qualcomm® Dragonwing™ IQ-X7181 | 8.256 ms | 31 - 31 MB | NPU |
| Swin-Tiny | ONNX | w8a16 | Qualcomm® Dragonwing™ Q-6690 | 36.081 ms | 0 - 385 MB | NPU |
| Swin-Tiny | ONNX | w8a16 | Qualcomm® Dragonwing™ Q-7790 | 8.221 ms | 0 - 235 MB | NPU |
| Swin-Tiny | ONNX | w8a16 | Qualcomm® Dragonwing™ Q-8750 | 3.986 ms | 0 - 265 MB | NPU |
| Swin-Tiny | ONNX | w8a16 | Snapdragon® 8 Elite Mobile | 3.986 ms | 0 - 265 MB | NPU |
| Swin-Tiny | ONNX | w8a16 | Snapdragon® 8 Elite Gen 5 Mobile | 3.265 ms | 0 - 273 MB | NPU |
| Swin-Tiny | ONNX | w8a16 | Snapdragon® 7 Gen 4 Mobile | 8.221 ms | 0 - 235 MB | NPU |
| Swin-Tiny | QNN_DLC | float | Snapdragon® X2 Elite | 4.282 ms | 1 - 1 MB | NPU |
| Swin-Tiny | QNN_DLC | float | Snapdragon® X Elite | 9.879 ms | 1 - 1 MB | NPU |
| Swin-Tiny | QNN_DLC | float | Snapdragon® 8 Gen 3 Mobile | 5.938 ms | 0 - 246 MB | NPU |
| Swin-Tiny | QNN_DLC | float | Snapdragon® 8 Gen 1 Mobile | 14.483 ms | 0 - 240 MB | NPU |
| Swin-Tiny | QNN_DLC | float | Qualcomm® Dragonwing™ IQ-8275 | 9.01 ms | 1 - 4 MB | NPU |
| Swin-Tiny | QNN_DLC | float | Qualcomm® Dragonwing™ IQ-8275 | 21.25 ms | 1 - 176 MB | NPU |
| Swin-Tiny | QNN_DLC | float | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 9.097 ms | 1 - 4 MB | NPU |
| Swin-Tiny | QNN_DLC | float | Qualcomm® SA8775P | 10.422 ms | 1 - 435 MB | NPU |
| Swin-Tiny | QNN_DLC | float | Qualcomm® SA8650P | 10.422 ms | 1 - 435 MB | NPU |
| Swin-Tiny | QNN_DLC | float | Qualcomm® SA8255P | 10.422 ms | 1 - 435 MB | NPU |
| Swin-Tiny | QNN_DLC | float | Qualcomm® QCS8450 | 14.483 ms | 0 - 240 MB | NPU |
| Swin-Tiny | QNN_DLC | float | Qualcomm® Dragonwing™ IQ-9075 | 10.272 ms | 1 - 3 MB | NPU |
| Swin-Tiny | QNN_DLC | float | Qualcomm® Dragonwing™ IQ-X7181 | 9.879 ms | 1 - 1 MB | NPU |
| Swin-Tiny | QNN_DLC | float | Qualcomm® Dragonwing™ Q-8750 | 4.517 ms | 0 - 415 MB | NPU |
| Swin-Tiny | QNN_DLC | float | Qualcomm® SA7255P | 21.25 ms | 1 - 176 MB | NPU |
| Swin-Tiny | QNN_DLC | float | Snapdragon® 8 Elite Mobile | 4.517 ms | 0 - 415 MB | NPU |
| Swin-Tiny | QNN_DLC | float | Snapdragon® 8 Elite Gen 5 Mobile | 3.776 ms | 1 - 415 MB | NPU |
| Swin-Tiny | QNN_DLC | w8a16 | Snapdragon® X2 Elite | 4.419 ms | 0 - 0 MB | NPU |
| Swin-Tiny | QNN_DLC | w8a16 | Snapdragon® X Elite | 10.92 ms | 0 - 0 MB | NPU |
| Swin-Tiny | QNN_DLC | w8a16 | Snapdragon® 8 Gen 3 Mobile | 6.639 ms | 0 - 509 MB | NPU |
| Swin-Tiny | QNN_DLC | w8a16 | Qualcomm® Dragonwing™ IQ-8275 | 8.822 ms | 0 - 3 MB | NPU |
| Swin-Tiny | QNN_DLC | w8a16 | Qualcomm® Dragonwing™ IQ-8275 | 17.777 ms | 0 - 436 MB | NPU |
| Swin-Tiny | QNN_DLC | w8a16 | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 10.006 ms | 0 - 17 MB | NPU |
| Swin-Tiny | QNN_DLC | w8a16 | Qualcomm® SA8775P | 10.657 ms | 0 - 443 MB | NPU |
| Swin-Tiny | QNN_DLC | w8a16 | Qualcomm® SA8650P | 10.657 ms | 0 - 443 MB | NPU |
| Swin-Tiny | QNN_DLC | w8a16 | Qualcomm® SA8255P | 10.657 ms | 0 - 443 MB | NPU |
| Swin-Tiny | QNN_DLC | w8a16 | Qualcomm® Dragonwing™ IQ-9075 | 10.507 ms | 2 - 4 MB | NPU |
| Swin-Tiny | QNN_DLC | w8a16 | Qualcomm® Dragonwing™ IQ-X7181 | 10.92 ms | 0 - 0 MB | NPU |
| Swin-Tiny | QNN_DLC | w8a16 | Qualcomm® Dragonwing™ Q-6690 | 42.876 ms | 0 - 430 MB | NPU |
| Swin-Tiny | QNN_DLC | w8a16 | Qualcomm® Dragonwing™ Q-7790 | 10.596 ms | 0 - 435 MB | NPU |
| Swin-Tiny | QNN_DLC | w8a16 | Qualcomm® Dragonwing™ Q-8750 | 4.881 ms | 0 - 431 MB | NPU |
| Swin-Tiny | QNN_DLC | w8a16 | Qualcomm® SA7255P | 17.777 ms | 0 - 436 MB | NPU |
| Swin-Tiny | QNN_DLC | w8a16 | Snapdragon® 8 Elite Mobile | 4.881 ms | 0 - 431 MB | NPU |
| Swin-Tiny | QNN_DLC | w8a16 | Snapdragon® 8 Elite Gen 5 Mobile | 3.894 ms | 0 - 440 MB | NPU |
| Swin-Tiny | QNN_DLC | w8a16 | Snapdragon® 7 Gen 4 Mobile | 10.596 ms | 0 - 435 MB | NPU |
| Swin-Tiny | TFLITE | float | Snapdragon® 8 Gen 3 Mobile | 6.062 ms | 0 - 263 MB | NPU |
| Swin-Tiny | TFLITE | float | Snapdragon® 8 Gen 1 Mobile | 14.322 ms | 0 - 257 MB | NPU |
| Swin-Tiny | TFLITE | float | Qualcomm® Dragonwing™ IQ-8275 | 9.054 ms | 0 - 61 MB | NPU |
| Swin-Tiny | TFLITE | float | Qualcomm® Dragonwing™ IQ-8275 | 21.206 ms | 0 - 199 MB | NPU |
| Swin-Tiny | TFLITE | float | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 9.253 ms | 0 - 3 MB | NPU |
| Swin-Tiny | TFLITE | float | Qualcomm® SA8775P | 10.368 ms | 0 - 200 MB | NPU |
| Swin-Tiny | TFLITE | float | Qualcomm® SA8650P | 10.368 ms | 0 - 200 MB | NPU |
| Swin-Tiny | TFLITE | float | Qualcomm® SA8255P | 10.368 ms | 0 - 200 MB | NPU |
| Swin-Tiny | TFLITE | float | Qualcomm® QCS8450 | 14.322 ms | 0 - 257 MB | NPU |
| Swin-Tiny | TFLITE | float | Qualcomm® Dragonwing™ IQ-9075 | 10.152 ms | 0 - 60 MB | NPU |
| Swin-Tiny | TFLITE | float | Qualcomm® Dragonwing™ Q-8750 | 4.634 ms | 0 - 200 MB | NPU |
| Swin-Tiny | TFLITE | float | Qualcomm® SA7255P | 21.206 ms | 0 - 199 MB | NPU |
| Swin-Tiny | TFLITE | float | Qualcomm® SA8295P | 13.881 ms | 0 - 199 MB | NPU |
| Swin-Tiny | TFLITE | float | Snapdragon® 8 Elite Mobile | 4.634 ms | 0 - 200 MB | NPU |
| Swin-Tiny | TFLITE | float | Snapdragon® 8 Elite Gen 5 Mobile | 3.837 ms | 0 - 215 MB | NPU |
License
- The license for the original implementation of Swin-Tiny can be found here.
References
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.
