File size: 10,476 Bytes
bf6560a
 
55284e4
bf6560a
 
68b2916
bf6560a
3485f04
bf6560a
 
 
6b91e20
bf6560a
921a529
e4907b7
bf6560a
 
921a529
608b36e
921a529
 
 
 
 
 
 
 
 
 
 
 
608b36e
 
 
 
 
921a529
 
 
 
 
 
608b36e
921a529
 
 
 
 
 
608b36e
921a529
 
 
 
 
 
 
 
 
 
 
 
 
 
 
608b36e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
56eb10b
bf6560a
423e7f9
 
56eb10b
bf6560a
 
 
 
 
e273191
bf6560a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
---
library_name: pytorch
license: other
tags:
- backbone
- bu_auto
- android
pipeline_tag: image-classification

---

![](https://qaihub-public-assets.s3.us-west-2.amazonaws.com/qai-hub-models/models/swin_base/web-assets/model_demo.png)

# Swin-Base: Optimized for Qualcomm Devices

SwinBase 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-Base found [here](https://github.com/pytorch/vision/blob/main/torchvision/models/swin_transformer.py).
This repository contains pre-exported model files optimized for Qualcomm® devices. You can use the [Qualcomm® AI Hub Models](https://github.com/qualcomm/ai-hub-models/blob/v0.59.0/src/qai_hub_models/models/swin_base) 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.45, ONNX Runtime 1.27.1 | [Download](https://qaihub-public-assets.s3.us-west-2.amazonaws.com/qai-hub-models/models/swin_base/releases/v0.59.0/swin_base-onnx-float.zip)
| ONNX | w8a16 | Universal | QAIRT 2.45, ONNX Runtime 1.27.1 | [Download](https://qaihub-public-assets.s3.us-west-2.amazonaws.com/qai-hub-models/models/swin_base/releases/v0.59.0/swin_base-onnx-w8a16.zip)
| QNN_DLC | float | Universal | QAIRT 2.45 | [Download](https://qaihub-public-assets.s3.us-west-2.amazonaws.com/qai-hub-models/models/swin_base/releases/v0.59.0/swin_base-qnn_dlc-float.zip)
| QNN_DLC | w8a16 | Universal | QAIRT 2.45 | [Download](https://qaihub-public-assets.s3.us-west-2.amazonaws.com/qai-hub-models/models/swin_base/releases/v0.59.0/swin_base-qnn_dlc-w8a16.zip)
| TFLITE | float | Universal | QAIRT 2.45 | [Download](https://qaihub-public-assets.s3.us-west-2.amazonaws.com/qai-hub-models/models/swin_base/releases/v0.59.0/swin_base-tflite-float.zip)

For more device-specific assets and performance metrics, visit **[Swin-Base on Qualcomm® AI Hub](https://aihub.qualcomm.com/models/swin_base)**.


### Option 2: Export with Custom Configurations

Use the [Qualcomm® AI Hub Models](https://github.com/qualcomm/ai-hub-models/blob/v0.59.0/src/qai_hub_models/models/swin_base) 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-Base on GitHub](https://github.com/qualcomm/ai-hub-models/blob/v0.59.0/src/qai_hub_models/models/swin_base) for usage instructions.

## Model Details

**Model Type:** Model_use_case.image_classification

**Model Stats:**
- Model checkpoint: Imagenet
- Input resolution: 224x224
- Number of parameters: 88.8M
- Model size (float): 339 MB
- Model size (w8a16): 90.2 MB

## Performance Summary
| Model | Runtime | Precision | Chipset | Inference Time (ms) | Peak Memory Range (MB) | Primary Compute Unit
|---|---|---|---|---|---|---
| Swin-Base | ONNX | float | Snapdragon® X2 Elite | 8.384 ms | 2 - 2 MB | NPU
| Swin-Base | ONNX | float | Snapdragon® X Elite | 19.605 ms | 176 - 176 MB | NPU
| Swin-Base | ONNX | float | Snapdragon® 8 Gen 3 Mobile | 12.785 ms | 0 - 536 MB | NPU
| Swin-Base | ONNX | float | Snapdragon® 8 Gen 1 Mobile | 29.317 ms | 1 - 525 MB | NPU
| Swin-Base | ONNX | float | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 18.881 ms | 1 - 4 MB | NPU
| Swin-Base | ONNX | float | Qualcomm® QCS8450 | 29.317 ms | 1 - 525 MB | NPU
| Swin-Base | ONNX | float | Qualcomm® Dragonwing™ IQ-9075 | 22.459 ms | 0 - 4 MB | NPU
| Swin-Base | ONNX | float | Qualcomm® Dragonwing™ IQ-X7181 | 19.605 ms | 176 - 176 MB | NPU
| Swin-Base | ONNX | float | Qualcomm® Dragonwing™ Q-8750 | 9.701 ms | 1 - 387 MB | NPU
| Swin-Base | ONNX | float | Snapdragon® 8 Elite Mobile | 9.701 ms | 1 - 387 MB | NPU
| Swin-Base | ONNX | float | Snapdragon® 8 Elite Gen 5 Mobile | 7.959 ms | 1 - 411 MB | NPU
| Swin-Base | ONNX | w8a16 | Snapdragon® X2 Elite | 6.967 ms | 1 - 1 MB | NPU
| Swin-Base | ONNX | w8a16 | Snapdragon® X Elite | 16.251 ms | 92 - 92 MB | NPU
| Swin-Base | ONNX | w8a16 | Snapdragon® 8 Gen 3 Mobile | 10.427 ms | 0 - 538 MB | NPU
| Swin-Base | ONNX | w8a16 | Snapdragon® 8 Gen 1 Mobile | 20.499 ms | 0 - 540 MB | NPU
| Swin-Base | ONNX | w8a16 | Qualcomm® Dragonwing™ QCS6490 | 57.602 ms | 0 - 3 MB | NPU
| Swin-Base | ONNX | w8a16 | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 15.409 ms | 0 - 100 MB | NPU
| Swin-Base | ONNX | w8a16 | Qualcomm® QCS8450 | 20.499 ms | 0 - 540 MB | NPU
| Swin-Base | ONNX | w8a16 | Qualcomm® Dragonwing™ IQ-9075 | 16.494 ms | 0 - 3 MB | NPU
| Swin-Base | ONNX | w8a16 | Qualcomm® Dragonwing™ IQ-X7181 | 16.251 ms | 92 - 92 MB | NPU
| Swin-Base | ONNX | w8a16 | Qualcomm® Dragonwing™ Q-8750 | 8.176 ms | 0 - 420 MB | NPU
| Swin-Base | ONNX | w8a16 | Snapdragon® 8 Elite Mobile | 8.176 ms | 0 - 420 MB | NPU
| Swin-Base | ONNX | w8a16 | Snapdragon® 8 Elite Gen 5 Mobile | 6.531 ms | 0 - 434 MB | NPU
| Swin-Base | QNN_DLC | float | Snapdragon® X2 Elite | 8.398 ms | 1 - 1 MB | NPU
| Swin-Base | QNN_DLC | float | Snapdragon® X Elite | 19.404 ms | 1 - 1 MB | NPU
| Swin-Base | QNN_DLC | float | Snapdragon® 8 Gen 3 Mobile | 12.423 ms | 0 - 517 MB | NPU
| Swin-Base | QNN_DLC | float | Snapdragon® 8 Gen 1 Mobile | 29.086 ms | 0 - 502 MB | NPU
| Swin-Base | QNN_DLC | float | Qualcomm® Dragonwing™ QCS8275 | 53.644 ms | 1 - 363 MB | NPU
| Swin-Base | QNN_DLC | float | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 18.404 ms | 1 - 3 MB | NPU
| Swin-Base | QNN_DLC | float | Qualcomm® SA8775P | 21.38 ms | 1 - 362 MB | NPU
| Swin-Base | QNN_DLC | float | Qualcomm® SA8650P | 21.38 ms | 1 - 362 MB | NPU
| Swin-Base | QNN_DLC | float | Qualcomm® SA8255P | 21.38 ms | 1 - 362 MB | NPU
| Swin-Base | QNN_DLC | float | Qualcomm® QCS8450 | 29.086 ms | 0 - 502 MB | NPU
| Swin-Base | QNN_DLC | float | Qualcomm® Dragonwing™ IQ-X7181 | 19.404 ms | 1 - 1 MB | NPU
| Swin-Base | QNN_DLC | float | Qualcomm® Dragonwing™ Q-8750 | 9.418 ms | 1 - 366 MB | NPU
| Swin-Base | QNN_DLC | float | Qualcomm® SA7255P | 53.644 ms | 1 - 363 MB | NPU
| Swin-Base | QNN_DLC | float | Qualcomm® SA8295P | 27.587 ms | 1 - 353 MB | NPU
| Swin-Base | QNN_DLC | float | Snapdragon® 8 Elite Mobile | 9.418 ms | 1 - 366 MB | NPU
| Swin-Base | QNN_DLC | float | Snapdragon® 8 Elite Gen 5 Mobile | 7.547 ms | 0 - 386 MB | NPU
| Swin-Base | QNN_DLC | w8a16 | Snapdragon® X2 Elite | 8.498 ms | 0 - 0 MB | NPU
| Swin-Base | QNN_DLC | w8a16 | Snapdragon® X Elite | 20.539 ms | 0 - 0 MB | NPU
| Swin-Base | QNN_DLC | w8a16 | Snapdragon® 8 Gen 3 Mobile | 12.791 ms | 0 - 507 MB | NPU
| Swin-Base | QNN_DLC | w8a16 | Qualcomm® Dragonwing™ QCS8275 | 35.425 ms | 0 - 412 MB | NPU
| Swin-Base | QNN_DLC | w8a16 | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 19.158 ms | 0 - 359 MB | NPU
| Swin-Base | QNN_DLC | w8a16 | Qualcomm® SA8775P | 19.58 ms | 0 - 411 MB | NPU
| Swin-Base | QNN_DLC | w8a16 | Qualcomm® SA8650P | 19.58 ms | 0 - 411 MB | NPU
| Swin-Base | QNN_DLC | w8a16 | Qualcomm® SA8255P | 19.58 ms | 0 - 411 MB | NPU
| Swin-Base | QNN_DLC | w8a16 | Qualcomm® Dragonwing™ IQ-9075 | 19.809 ms | 0 - 2 MB | NPU
| Swin-Base | QNN_DLC | w8a16 | Qualcomm® Dragonwing™ IQ-X7181 | 20.539 ms | 0 - 0 MB | NPU
| Swin-Base | QNN_DLC | w8a16 | Qualcomm® Dragonwing™ Q-6690 | 123.141 ms | 0 - 929 MB | NPU
| Swin-Base | QNN_DLC | w8a16 | Qualcomm® Dragonwing™ Q-7790 | 21.594 ms | 0 - 605 MB | NPU
| Swin-Base | QNN_DLC | w8a16 | Qualcomm® Dragonwing™ Q-8750 | 9.514 ms | 0 - 407 MB | NPU
| Swin-Base | QNN_DLC | w8a16 | Qualcomm® SA7255P | 35.425 ms | 0 - 412 MB | NPU
| Swin-Base | QNN_DLC | w8a16 | Snapdragon® 8 Elite Mobile | 9.514 ms | 0 - 407 MB | NPU
| Swin-Base | QNN_DLC | w8a16 | Snapdragon® 8 Elite Gen 5 Mobile | 7.619 ms | 0 - 421 MB | NPU
| Swin-Base | QNN_DLC | w8a16 | Snapdragon® 7 Gen 4 Mobile | 21.594 ms | 0 - 605 MB | NPU
| Swin-Base | TFLITE | float | Snapdragon® 8 Gen 3 Mobile | 12.734 ms | 0 - 1051 MB | NPU
| Swin-Base | TFLITE | float | Snapdragon® 8 Gen 1 Mobile | 29.029 ms | 0 - 511 MB | NPU
| Swin-Base | TFLITE | float | Qualcomm® Dragonwing™ QCS8275 | 53.464 ms | 0 - 710 MB | NPU
| Swin-Base | TFLITE | float | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 18.779 ms | 0 - 4 MB | NPU
| Swin-Base | TFLITE | float | Qualcomm® SA8775P | 21.969 ms | 0 - 376 MB | NPU
| Swin-Base | TFLITE | float | Qualcomm® SA8650P | 21.969 ms | 0 - 376 MB | NPU
| Swin-Base | TFLITE | float | Qualcomm® SA8255P | 21.969 ms | 0 - 376 MB | NPU
| Swin-Base | TFLITE | float | Qualcomm® QCS8450 | 29.029 ms | 0 - 511 MB | NPU
| Swin-Base | TFLITE | float | Qualcomm® Dragonwing™ IQ-9075 | 22.083 ms | 0 - 178 MB | NPU
| Swin-Base | TFLITE | float | Qualcomm® Dragonwing™ Q-8750 | 9.677 ms | 0 - 379 MB | NPU
| Swin-Base | TFLITE | float | Qualcomm® SA7255P | 53.464 ms | 0 - 710 MB | NPU
| Swin-Base | TFLITE | float | Qualcomm® SA8295P | 28.357 ms | 0 - 372 MB | NPU
| Swin-Base | TFLITE | float | Snapdragon® 8 Elite Mobile | 9.677 ms | 0 - 379 MB | NPU
| Swin-Base | TFLITE | float | Snapdragon® 8 Elite Gen 5 Mobile | 7.935 ms | 0 - 398 MB | NPU

## License
* The license for the original implementation of Swin-Base can be found
  [here](https://github.com/pytorch/vision/blob/main/LICENSE).

## References
* [Swin Transformer: Hierarchical Vision Transformer using Shifted Windows](https://arxiv.org/abs/2103.14030)
* [Source Model Implementation](https://github.com/pytorch/vision/blob/main/torchvision/models/swin_transformer.py)

## 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).