| | --- |
| | library_name: pytorch |
| | license: other |
| | tags: |
| | - backbone |
| | - bu_auto |
| | - android |
| | pipeline_tag: image-classification |
| |
|
| | --- |
| | |
| |  |
| |
|
| | # DLA-102-X: Optimized for Qualcomm Devices |
| |
|
| | dla is a machine learning model that can classify images from the Imagenet dataset. It is a architecture which can be used as backbone. |
| |
|
| | This is based on the implementation of DLA-102-X found [here](https://huggingface.co/timm/dla102x.in1k). |
| | This repository contains pre-exported model files optimized for Qualcomm® devices. You can use the [Qualcomm® AI Hub Models](https://github.com/quic/ai-hub-models/blob/main/qai_hub_models/models/dla102x) library to export with custom configurations. More details on model performance across various devices, can be found [here](#performance-summary). |
| |
|
| | Qualcomm AI Hub Models uses [Qualcomm AI Hub Workbench](https://workbench.aihub.qualcomm.com) to compile, profile, and evaluate this model. [Sign up](https://myaccount.qualcomm.com/signup) 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.42, ONNX Runtime 1.24.1 | [Download](https://qaihub-public-assets.s3.us-west-2.amazonaws.com/qai-hub-models/models/dla102x/releases/v0.47.0/dla102x-onnx-float.zip) |
| | | ONNX | w8a8 | Universal | QAIRT 2.42, ONNX Runtime 1.24.1 | [Download](https://qaihub-public-assets.s3.us-west-2.amazonaws.com/qai-hub-models/models/dla102x/releases/v0.47.0/dla102x-onnx-w8a8.zip) |
| | | QNN_DLC | float | Universal | QAIRT 2.43 | [Download](https://qaihub-public-assets.s3.us-west-2.amazonaws.com/qai-hub-models/models/dla102x/releases/v0.47.0/dla102x-qnn_dlc-float.zip) |
| | | QNN_DLC | w8a8 | Universal | QAIRT 2.43 | [Download](https://qaihub-public-assets.s3.us-west-2.amazonaws.com/qai-hub-models/models/dla102x/releases/v0.47.0/dla102x-qnn_dlc-w8a8.zip) |
| | | TFLITE | float | Universal | QAIRT 2.43, TFLite 2.17.0 | [Download](https://qaihub-public-assets.s3.us-west-2.amazonaws.com/qai-hub-models/models/dla102x/releases/v0.47.0/dla102x-tflite-float.zip) |
| | | TFLITE | w8a8 | Universal | QAIRT 2.43, TFLite 2.17.0 | [Download](https://qaihub-public-assets.s3.us-west-2.amazonaws.com/qai-hub-models/models/dla102x/releases/v0.47.0/dla102x-tflite-w8a8.zip) |
| |
|
| | For more device-specific assets and performance metrics, visit **[DLA-102-X on Qualcomm® AI Hub](https://aihub.qualcomm.com/models/dla102x)**. |
| |
|
| |
|
| | ### Option 2: Export with Custom Configurations |
| |
|
| | Use the [Qualcomm® AI Hub Models](https://github.com/quic/ai-hub-models/blob/main/qai_hub_models/models/dla102x) 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 [DLA-102-X on GitHub](https://github.com/quic/ai-hub-models/blob/main/qai_hub_models/models/dla102x) for usage instructions. |
| |
|
| | ## Model Details |
| |
|
| | **Model Type:** Model_use_case.image_classification |
| | |
| | **Model Stats:** |
| | - Model checkpoint: Imagenet |
| | - Input resolution: 224x224 |
| | - Number of parameters: 26.3M |
| | - Model size (float): 100 MB |
| | |
| | ## Performance Summary |
| | | Model | Runtime | Precision | Chipset | Inference Time (ms) | Peak Memory Range (MB) | Primary Compute Unit |
| | |---|---|---|---|---|---|--- |
| | | DLA-102-X | ONNX | float | Snapdragon® X Elite | 2.941 ms | 54 - 54 MB | NPU |
| | | DLA-102-X | ONNX | float | Snapdragon® 8 Gen 3 Mobile | 1.882 ms | 0 - 156 MB | NPU |
| | | DLA-102-X | ONNX | float | Qualcomm® QCS8550 (Proxy) | 2.64 ms | 0 - 58 MB | NPU |
| | | DLA-102-X | ONNX | float | Qualcomm® QCS9075 | 3.975 ms | 0 - 4 MB | NPU |
| | | DLA-102-X | ONNX | float | Snapdragon® 8 Elite For Galaxy Mobile | 1.565 ms | 0 - 107 MB | NPU |
| | | DLA-102-X | ONNX | float | Snapdragon® 8 Elite Gen 5 Mobile | 1.199 ms | 1 - 108 MB | NPU |
| | | DLA-102-X | ONNX | float | Snapdragon® X2 Elite | 1.322 ms | 54 - 54 MB | NPU |
| | | DLA-102-X | ONNX | w8a8 | Snapdragon® X Elite | 1.624 ms | 27 - 27 MB | NPU |
| | | DLA-102-X | ONNX | w8a8 | Snapdragon® 8 Gen 3 Mobile | 1.016 ms | 0 - 149 MB | NPU |
| | | DLA-102-X | ONNX | w8a8 | Qualcomm® QCS6490 | 73.007 ms | 17 - 33 MB | CPU |
| | | DLA-102-X | ONNX | w8a8 | Qualcomm® QCS8550 (Proxy) | 1.404 ms | 0 - 33 MB | NPU |
| | | DLA-102-X | ONNX | w8a8 | Qualcomm® QCS9075 | 1.64 ms | 0 - 3 MB | NPU |
| | | DLA-102-X | ONNX | w8a8 | Qualcomm® QCM6690 | 40.666 ms | 14 - 25 MB | CPU |
| | | DLA-102-X | ONNX | w8a8 | Snapdragon® 8 Elite For Galaxy Mobile | 0.881 ms | 0 - 117 MB | NPU |
| | | DLA-102-X | ONNX | w8a8 | Snapdragon® 7 Gen 4 Mobile | 38.594 ms | 16 - 27 MB | CPU |
| | | DLA-102-X | ONNX | w8a8 | Snapdragon® 8 Elite Gen 5 Mobile | 0.738 ms | 0 - 120 MB | NPU |
| | | DLA-102-X | ONNX | w8a8 | Snapdragon® X2 Elite | 0.731 ms | 28 - 28 MB | NPU |
| | | DLA-102-X | QNN_DLC | float | Snapdragon® X Elite | 3.147 ms | 1 - 1 MB | NPU |
| | | DLA-102-X | QNN_DLC | float | Snapdragon® 8 Gen 3 Mobile | 2.001 ms | 0 - 151 MB | NPU |
| | | DLA-102-X | QNN_DLC | float | Qualcomm® QCS8275 (Proxy) | 14.356 ms | 1 - 102 MB | NPU |
| | | DLA-102-X | QNN_DLC | float | Qualcomm® QCS8550 (Proxy) | 2.876 ms | 1 - 2 MB | NPU |
| | | DLA-102-X | QNN_DLC | float | Qualcomm® QCS9075 | 4.228 ms | 1 - 3 MB | NPU |
| | | DLA-102-X | QNN_DLC | float | Qualcomm® QCS8450 (Proxy) | 4.483 ms | 0 - 125 MB | NPU |
| | | DLA-102-X | QNN_DLC | float | Snapdragon® 8 Elite For Galaxy Mobile | 1.608 ms | 0 - 103 MB | NPU |
| | | DLA-102-X | QNN_DLC | float | Snapdragon® 8 Elite Gen 5 Mobile | 1.232 ms | 0 - 105 MB | NPU |
| | | DLA-102-X | QNN_DLC | float | Snapdragon® X2 Elite | 1.687 ms | 1 - 1 MB | NPU |
| | | DLA-102-X | QNN_DLC | w8a8 | Snapdragon® X Elite | 1.595 ms | 0 - 0 MB | NPU |
| | | DLA-102-X | QNN_DLC | w8a8 | Snapdragon® 8 Gen 3 Mobile | 0.93 ms | 0 - 131 MB | NPU |
| | | DLA-102-X | QNN_DLC | w8a8 | Qualcomm® QCS6490 | 3.984 ms | 0 - 2 MB | NPU |
| | | DLA-102-X | QNN_DLC | w8a8 | Qualcomm® QCS8275 (Proxy) | 3.269 ms | 0 - 103 MB | NPU |
| | | DLA-102-X | QNN_DLC | w8a8 | Qualcomm® QCS8550 (Proxy) | 1.358 ms | 0 - 2 MB | NPU |
| | | DLA-102-X | QNN_DLC | w8a8 | Qualcomm® QCS9075 | 1.584 ms | 2 - 4 MB | NPU |
| | | DLA-102-X | QNN_DLC | w8a8 | Qualcomm® QCM6690 | 10.622 ms | 0 - 230 MB | NPU |
| | | DLA-102-X | QNN_DLC | w8a8 | Qualcomm® QCS8450 (Proxy) | 1.871 ms | 0 - 131 MB | NPU |
| | | DLA-102-X | QNN_DLC | w8a8 | Snapdragon® 8 Elite For Galaxy Mobile | 0.795 ms | 0 - 104 MB | NPU |
| | | DLA-102-X | QNN_DLC | w8a8 | Snapdragon® 7 Gen 4 Mobile | 1.722 ms | 0 - 101 MB | NPU |
| | | DLA-102-X | QNN_DLC | w8a8 | Snapdragon® 8 Elite Gen 5 Mobile | 0.659 ms | 0 - 107 MB | NPU |
| | | DLA-102-X | QNN_DLC | w8a8 | Snapdragon® X2 Elite | 0.93 ms | 0 - 0 MB | NPU |
| | | DLA-102-X | TFLITE | float | Snapdragon® 8 Gen 3 Mobile | 1.985 ms | 0 - 214 MB | NPU |
| | | DLA-102-X | TFLITE | float | Qualcomm® QCS8275 (Proxy) | 14.342 ms | 0 - 162 MB | NPU |
| | | DLA-102-X | TFLITE | float | Qualcomm® QCS8550 (Proxy) | 2.765 ms | 0 - 2 MB | NPU |
| | | DLA-102-X | TFLITE | float | Qualcomm® QCS9075 | 4.257 ms | 0 - 57 MB | NPU |
| | | DLA-102-X | TFLITE | float | Qualcomm® QCS8450 (Proxy) | 4.474 ms | 0 - 180 MB | NPU |
| | | DLA-102-X | TFLITE | float | Snapdragon® 8 Elite For Galaxy Mobile | 1.586 ms | 0 - 165 MB | NPU |
| | | DLA-102-X | TFLITE | float | Snapdragon® 8 Elite Gen 5 Mobile | 1.225 ms | 0 - 163 MB | NPU |
| | | DLA-102-X | TFLITE | w8a8 | Snapdragon® 8 Gen 3 Mobile | 0.824 ms | 0 - 135 MB | NPU |
| | | DLA-102-X | TFLITE | w8a8 | Qualcomm® QCS6490 | 3.593 ms | 0 - 29 MB | NPU |
| | | DLA-102-X | TFLITE | w8a8 | Qualcomm® QCS8275 (Proxy) | 2.925 ms | 0 - 99 MB | NPU |
| | | DLA-102-X | TFLITE | w8a8 | Qualcomm® QCS8550 (Proxy) | 1.12 ms | 0 - 2 MB | NPU |
| | | DLA-102-X | TFLITE | w8a8 | Qualcomm® QCS9075 | 1.375 ms | 0 - 29 MB | NPU |
| | | DLA-102-X | TFLITE | w8a8 | Qualcomm® QCM6690 | 10.063 ms | 0 - 208 MB | NPU |
| | | DLA-102-X | TFLITE | w8a8 | Qualcomm® QCS8450 (Proxy) | 1.753 ms | 0 - 136 MB | NPU |
| | | DLA-102-X | TFLITE | w8a8 | Snapdragon® 8 Elite For Galaxy Mobile | 0.717 ms | 0 - 92 MB | NPU |
| | | DLA-102-X | TFLITE | w8a8 | Snapdragon® 7 Gen 4 Mobile | 1.487 ms | 0 - 92 MB | NPU |
| | | DLA-102-X | TFLITE | w8a8 | Snapdragon® 8 Elite Gen 5 Mobile | 0.59 ms | 0 - 102 MB | NPU |
| |
|
| | ## License |
| | * The license for the original implementation of DLA-102-X can be found |
| | [here](hhttps://huggingface.co/datasets/choosealicense/licenses/blob/main/markdown/bsd-3-clause.md). |
| |
|
| | ## References |
| | * [Deep Layer Aggregation](https://arxiv.org/abs/1707.06484) |
| | * [Source Model Implementation](https://huggingface.co/timm/dla102x.in1k) |
| |
|
| | ## Community |
| | * Join [our AI Hub Slack community](https://aihub.qualcomm.com/community/slack) to collaborate, post questions and learn more about on-device AI. |
| | * For questions or feedback please [reach out to us](mailto:ai-hub-support@qti.qualcomm.com). |
| |
|