v0.32.0
Browse filesSee https://github.com/quic/ai-hub-models/releases/v0.32.0 for changelog.
LICENSE
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
|
|
|
| 1 |
+
The license of the original trained model can be found at https://github.com/CompVis/stable-diffusion/blob/main/LICENSE.
|
| 2 |
+
The license for the deployable model files (.tflite, .onnx, .dlc, .bin, etc.) can be found at https://github.com/CompVis/stable-diffusion/blob/main/LICENSE.
|
README.md
CHANGED
|
@@ -29,58 +29,54 @@ More details on model performance across various devices, can be found
|
|
| 29 |
- **Model Type:** Model_use_case.image_generation
|
| 30 |
- **Model Stats:**
|
| 31 |
- Input: Text prompt to generate image
|
| 32 |
-
- Text Encoder Number of parameters: 340M
|
| 33 |
-
- UNet Number of parameters: 865M
|
| 34 |
-
- VAE Decoder Number of parameters: 83M
|
| 35 |
-
- Model size: 1GB
|
| 36 |
|
| 37 |
| Model | Precision | Device | Chipset | Target Runtime | Inference Time (ms) | Peak Memory Range (MB) | Primary Compute Unit | Target Model
|
| 38 |
|---|---|---|---|---|---|---|---|---|
|
| 39 |
-
| text_encoder | w8a16 | QCS8275 (Proxy) | Qualcomm® QCS8275 (Proxy) | QNN_CONTEXT_BINARY | 11.
|
| 40 |
-
| text_encoder | w8a16 | QCS8550 (Proxy) | Qualcomm® QCS8550 (Proxy) | QNN_CONTEXT_BINARY | 5.
|
| 41 |
-
| text_encoder | w8a16 | QCS9075 (Proxy) | Qualcomm® QCS9075 (Proxy) | QNN_CONTEXT_BINARY | 5.
|
| 42 |
-
| text_encoder | w8a16 | SA7255P ADP | Qualcomm® SA7255P | QNN_CONTEXT_BINARY | 11.
|
| 43 |
-
| text_encoder | w8a16 | SA8255 (Proxy) | Qualcomm® SA8255P (Proxy) | QNN_CONTEXT_BINARY | 5.
|
| 44 |
-
| text_encoder | w8a16 | SA8650 (Proxy) | Qualcomm® SA8650P (Proxy) | QNN_CONTEXT_BINARY | 5.
|
| 45 |
-
| text_encoder | w8a16 | SA8775P ADP | Qualcomm® SA8775P | QNN_CONTEXT_BINARY | 5.
|
| 46 |
-
| text_encoder | w8a16 | Samsung Galaxy S23 | Snapdragon® 8 Gen 2 Mobile | QNN_CONTEXT_BINARY | 5.
|
| 47 |
-
| text_encoder | w8a16 | Samsung Galaxy S23 | Snapdragon® 8 Gen 2 Mobile | PRECOMPILED_QNN_ONNX | 5.
|
| 48 |
-
| text_encoder | w8a16 | Samsung Galaxy S24 | Snapdragon® 8 Gen 3 Mobile | QNN_CONTEXT_BINARY | 3.
|
| 49 |
-
| text_encoder | w8a16 | Samsung Galaxy S24 | Snapdragon® 8 Gen 3 Mobile | PRECOMPILED_QNN_ONNX | 4.
|
| 50 |
-
| text_encoder | w8a16 | Snapdragon 8 Elite QRD | Snapdragon® 8 Elite Mobile | QNN_CONTEXT_BINARY | 3.
|
| 51 |
-
| text_encoder | w8a16 | Snapdragon 8 Elite QRD | Snapdragon® 8 Elite Mobile | PRECOMPILED_QNN_ONNX | 3.
|
| 52 |
-
| text_encoder | w8a16 | Snapdragon X Elite CRD | Snapdragon® X Elite | QNN_CONTEXT_BINARY | 5.
|
| 53 |
-
| text_encoder | w8a16 | Snapdragon X Elite CRD | Snapdragon® X Elite | PRECOMPILED_QNN_ONNX | 5.
|
| 54 |
-
| unet | w8a16 | QCS8275 (Proxy) | Qualcomm® QCS8275 (Proxy) | QNN_CONTEXT_BINARY | 263.
|
| 55 |
-
| unet | w8a16 | QCS8550 (Proxy) | Qualcomm® QCS8550 (Proxy) | QNN_CONTEXT_BINARY |
|
| 56 |
-
| unet | w8a16 | QCS9075 (Proxy) | Qualcomm® QCS9075 (Proxy) | QNN_CONTEXT_BINARY | 105.
|
| 57 |
-
| unet | w8a16 | SA7255P ADP | Qualcomm® SA7255P | QNN_CONTEXT_BINARY | 263.
|
| 58 |
-
| unet | w8a16 | SA8255 (Proxy) | Qualcomm® SA8255P (Proxy) | QNN_CONTEXT_BINARY | 111.
|
| 59 |
-
| unet | w8a16 | SA8650 (Proxy) | Qualcomm® SA8650P (Proxy) | QNN_CONTEXT_BINARY | 112.
|
| 60 |
-
| unet | w8a16 | SA8775P ADP | Qualcomm® SA8775P | QNN_CONTEXT_BINARY | 105.
|
| 61 |
-
| unet | w8a16 | Samsung Galaxy S23 | Snapdragon® 8 Gen 2 Mobile | QNN_CONTEXT_BINARY |
|
| 62 |
-
| unet | w8a16 | Samsung Galaxy S23 | Snapdragon® 8 Gen 2 Mobile | PRECOMPILED_QNN_ONNX |
|
| 63 |
-
| unet | w8a16 | Samsung Galaxy S24 | Snapdragon® 8 Gen 3 Mobile | QNN_CONTEXT_BINARY | 78.
|
| 64 |
-
| unet | w8a16 | Samsung Galaxy S24 | Snapdragon® 8 Gen 3 Mobile | PRECOMPILED_QNN_ONNX |
|
| 65 |
-
| unet | w8a16 | Snapdragon 8 Elite QRD | Snapdragon® 8 Elite Mobile | QNN_CONTEXT_BINARY |
|
| 66 |
-
| unet | w8a16 | Snapdragon 8 Elite QRD | Snapdragon® 8 Elite Mobile | PRECOMPILED_QNN_ONNX | 67.
|
| 67 |
-
| unet | w8a16 | Snapdragon X Elite CRD | Snapdragon® X Elite | QNN_CONTEXT_BINARY | 113.
|
| 68 |
-
| unet | w8a16 | Snapdragon X Elite CRD | Snapdragon® X Elite | PRECOMPILED_QNN_ONNX | 114.
|
| 69 |
-
| vae | w8a16 | QCS8275 (Proxy) | Qualcomm® QCS8275 (Proxy) | QNN_CONTEXT_BINARY |
|
| 70 |
-
| vae | w8a16 | QCS8550 (Proxy) | Qualcomm® QCS8550 (Proxy) | QNN_CONTEXT_BINARY |
|
| 71 |
-
| vae | w8a16 | QCS9075 (Proxy) | Qualcomm® QCS9075 (Proxy) | QNN_CONTEXT_BINARY | 249.
|
| 72 |
-
| vae | w8a16 | SA7255P ADP | Qualcomm® SA7255P | QNN_CONTEXT_BINARY |
|
| 73 |
-
| vae | w8a16 | SA8255 (Proxy) | Qualcomm® SA8255P (Proxy) | QNN_CONTEXT_BINARY |
|
| 74 |
-
| vae | w8a16 | SA8650 (Proxy) | Qualcomm® SA8650P (Proxy) | QNN_CONTEXT_BINARY |
|
| 75 |
-
| vae | w8a16 | SA8775P ADP | Qualcomm® SA8775P | QNN_CONTEXT_BINARY | 249.
|
| 76 |
-
| vae | w8a16 | Samsung Galaxy S23 | Snapdragon® 8 Gen 2 Mobile | QNN_CONTEXT_BINARY |
|
| 77 |
-
| vae | w8a16 | Samsung Galaxy S23 | Snapdragon® 8 Gen 2 Mobile | PRECOMPILED_QNN_ONNX |
|
| 78 |
-
| vae | w8a16 | Samsung Galaxy S24 | Snapdragon® 8 Gen 3 Mobile | QNN_CONTEXT_BINARY |
|
| 79 |
-
| vae | w8a16 | Samsung Galaxy S24 | Snapdragon® 8 Gen 3 Mobile | PRECOMPILED_QNN_ONNX | 204.
|
| 80 |
-
| vae | w8a16 | Snapdragon 8 Elite QRD | Snapdragon® 8 Elite Mobile | QNN_CONTEXT_BINARY |
|
| 81 |
-
| vae | w8a16 | Snapdragon 8 Elite QRD | Snapdragon® 8 Elite Mobile | PRECOMPILED_QNN_ONNX | 193.
|
| 82 |
-
| vae | w8a16 | Snapdragon X Elite CRD | Snapdragon® X Elite | QNN_CONTEXT_BINARY | 265.
|
| 83 |
-
| vae | w8a16 | Snapdragon X Elite CRD | Snapdragon® X Elite | PRECOMPILED_QNN_ONNX |
|
| 84 |
|
| 85 |
## Deploy to Snapdragon X Elite NPU
|
| 86 |
Please follow the [Stable Diffusion Windows App](https://github.com/quic/ai-hub-apps/tree/main/apps/windows/python/StableDiffusion) tutorial to quantize model with custom weights.
|
|
@@ -150,28 +146,28 @@ Profiling Results
|
|
| 150 |
text_encoder
|
| 151 |
Device : cs_8275 (ANDROID 14)
|
| 152 |
Runtime : QNN_CONTEXT_BINARY
|
| 153 |
-
Estimated inference time (ms) : 11.
|
| 154 |
Estimated peak memory usage (MB): [0, 9]
|
| 155 |
-
Total # Ops :
|
| 156 |
-
Compute Unit(s) : npu (
|
| 157 |
|
| 158 |
------------------------------------------------------------
|
| 159 |
unet
|
| 160 |
Device : cs_8275 (ANDROID 14)
|
| 161 |
Runtime : QNN_CONTEXT_BINARY
|
| 162 |
-
Estimated inference time (ms) : 263.
|
| 163 |
Estimated peak memory usage (MB): [0, 7]
|
| 164 |
-
Total # Ops :
|
| 165 |
-
Compute Unit(s) : npu (
|
| 166 |
|
| 167 |
------------------------------------------------------------
|
| 168 |
vae
|
| 169 |
Device : cs_8275 (ANDROID 14)
|
| 170 |
Runtime : QNN_CONTEXT_BINARY
|
| 171 |
-
Estimated inference time (ms) :
|
| 172 |
Estimated peak memory usage (MB): [0, 9]
|
| 173 |
-
Total # Ops :
|
| 174 |
-
Compute Unit(s) : npu (
|
| 175 |
```
|
| 176 |
|
| 177 |
|
|
|
|
| 29 |
- **Model Type:** Model_use_case.image_generation
|
| 30 |
- **Model Stats:**
|
| 31 |
- Input: Text prompt to generate image
|
|
|
|
|
|
|
|
|
|
|
|
|
| 32 |
|
| 33 |
| Model | Precision | Device | Chipset | Target Runtime | Inference Time (ms) | Peak Memory Range (MB) | Primary Compute Unit | Target Model
|
| 34 |
|---|---|---|---|---|---|---|---|---|
|
| 35 |
+
| text_encoder | w8a16 | QCS8275 (Proxy) | Qualcomm® QCS8275 (Proxy) | QNN_CONTEXT_BINARY | 11.071 ms | 0 - 9 MB | NPU | Use Export Script |
|
| 36 |
+
| text_encoder | w8a16 | QCS8550 (Proxy) | Qualcomm® QCS8550 (Proxy) | QNN_CONTEXT_BINARY | 5.367 ms | 0 - 3 MB | NPU | Use Export Script |
|
| 37 |
+
| text_encoder | w8a16 | QCS9075 (Proxy) | Qualcomm® QCS9075 (Proxy) | QNN_CONTEXT_BINARY | 5.955 ms | 0 - 10 MB | NPU | Use Export Script |
|
| 38 |
+
| text_encoder | w8a16 | SA7255P ADP | Qualcomm® SA7255P | QNN_CONTEXT_BINARY | 11.071 ms | 0 - 9 MB | NPU | Use Export Script |
|
| 39 |
+
| text_encoder | w8a16 | SA8255 (Proxy) | Qualcomm® SA8255P (Proxy) | QNN_CONTEXT_BINARY | 5.369 ms | 0 - 2 MB | NPU | Use Export Script |
|
| 40 |
+
| text_encoder | w8a16 | SA8650 (Proxy) | Qualcomm® SA8650P (Proxy) | QNN_CONTEXT_BINARY | 5.406 ms | 0 - 2 MB | NPU | Use Export Script |
|
| 41 |
+
| text_encoder | w8a16 | SA8775P ADP | Qualcomm® SA8775P | QNN_CONTEXT_BINARY | 5.955 ms | 0 - 10 MB | NPU | Use Export Script |
|
| 42 |
+
| text_encoder | w8a16 | Samsung Galaxy S23 | Snapdragon® 8 Gen 2 Mobile | QNN_CONTEXT_BINARY | 5.407 ms | 0 - 3 MB | NPU | Use Export Script |
|
| 43 |
+
| text_encoder | w8a16 | Samsung Galaxy S23 | Snapdragon® 8 Gen 2 Mobile | PRECOMPILED_QNN_ONNX | 5.755 ms | 0 - 162 MB | NPU | Use Export Script |
|
| 44 |
+
| text_encoder | w8a16 | Samsung Galaxy S24 | Snapdragon® 8 Gen 3 Mobile | QNN_CONTEXT_BINARY | 3.883 ms | 0 - 18 MB | NPU | Use Export Script |
|
| 45 |
+
| text_encoder | w8a16 | Samsung Galaxy S24 | Snapdragon® 8 Gen 3 Mobile | PRECOMPILED_QNN_ONNX | 4.111 ms | 0 - 14 MB | NPU | Use Export Script |
|
| 46 |
+
| text_encoder | w8a16 | Snapdragon 8 Elite QRD | Snapdragon® 8 Elite Mobile | QNN_CONTEXT_BINARY | 3.494 ms | 0 - 15 MB | NPU | Use Export Script |
|
| 47 |
+
| text_encoder | w8a16 | Snapdragon 8 Elite QRD | Snapdragon® 8 Elite Mobile | PRECOMPILED_QNN_ONNX | 3.845 ms | 1 - 14 MB | NPU | Use Export Script |
|
| 48 |
+
| text_encoder | w8a16 | Snapdragon X Elite CRD | Snapdragon® X Elite | QNN_CONTEXT_BINARY | 5.818 ms | 1 - 1 MB | NPU | Use Export Script |
|
| 49 |
+
| text_encoder | w8a16 | Snapdragon X Elite CRD | Snapdragon® X Elite | PRECOMPILED_QNN_ONNX | 5.876 ms | 157 - 157 MB | NPU | Use Export Script |
|
| 50 |
+
| unet | w8a16 | QCS8275 (Proxy) | Qualcomm® QCS8275 (Proxy) | QNN_CONTEXT_BINARY | 263.269 ms | 0 - 7 MB | NPU | Use Export Script |
|
| 51 |
+
| unet | w8a16 | QCS8550 (Proxy) | Qualcomm® QCS8550 (Proxy) | QNN_CONTEXT_BINARY | 111.051 ms | 0 - 3 MB | NPU | Use Export Script |
|
| 52 |
+
| unet | w8a16 | QCS9075 (Proxy) | Qualcomm® QCS9075 (Proxy) | QNN_CONTEXT_BINARY | 105.308 ms | 0 - 8 MB | NPU | Use Export Script |
|
| 53 |
+
| unet | w8a16 | SA7255P ADP | Qualcomm® SA7255P | QNN_CONTEXT_BINARY | 263.269 ms | 0 - 7 MB | NPU | Use Export Script |
|
| 54 |
+
| unet | w8a16 | SA8255 (Proxy) | Qualcomm® SA8255P (Proxy) | QNN_CONTEXT_BINARY | 111.497 ms | 0 - 2 MB | NPU | Use Export Script |
|
| 55 |
+
| unet | w8a16 | SA8650 (Proxy) | Qualcomm® SA8650P (Proxy) | QNN_CONTEXT_BINARY | 112.78 ms | 0 - 3 MB | NPU | Use Export Script |
|
| 56 |
+
| unet | w8a16 | SA8775P ADP | Qualcomm® SA8775P | QNN_CONTEXT_BINARY | 105.308 ms | 0 - 8 MB | NPU | Use Export Script |
|
| 57 |
+
| unet | w8a16 | Samsung Galaxy S23 | Snapdragon® 8 Gen 2 Mobile | QNN_CONTEXT_BINARY | 111.152 ms | 0 - 2 MB | NPU | Use Export Script |
|
| 58 |
+
| unet | w8a16 | Samsung Galaxy S23 | Snapdragon® 8 Gen 2 Mobile | PRECOMPILED_QNN_ONNX | 113.45 ms | 0 - 899 MB | NPU | Use Export Script |
|
| 59 |
+
| unet | w8a16 | Samsung Galaxy S24 | Snapdragon® 8 Gen 3 Mobile | QNN_CONTEXT_BINARY | 78.006 ms | 0 - 19 MB | NPU | Use Export Script |
|
| 60 |
+
| unet | w8a16 | Samsung Galaxy S24 | Snapdragon® 8 Gen 3 Mobile | PRECOMPILED_QNN_ONNX | 80.1 ms | 0 - 16 MB | NPU | Use Export Script |
|
| 61 |
+
| unet | w8a16 | Snapdragon 8 Elite QRD | Snapdragon® 8 Elite Mobile | QNN_CONTEXT_BINARY | 59.856 ms | 0 - 14 MB | NPU | Use Export Script |
|
| 62 |
+
| unet | w8a16 | Snapdragon 8 Elite QRD | Snapdragon® 8 Elite Mobile | PRECOMPILED_QNN_ONNX | 67.452 ms | 0 - 15 MB | NPU | Use Export Script |
|
| 63 |
+
| unet | w8a16 | Snapdragon X Elite CRD | Snapdragon® X Elite | QNN_CONTEXT_BINARY | 113.788 ms | 0 - 0 MB | NPU | Use Export Script |
|
| 64 |
+
| unet | w8a16 | Snapdragon X Elite CRD | Snapdragon® X Elite | PRECOMPILED_QNN_ONNX | 114.381 ms | 842 - 842 MB | NPU | Use Export Script |
|
| 65 |
+
| vae | w8a16 | QCS8275 (Proxy) | Qualcomm® QCS8275 (Proxy) | QNN_CONTEXT_BINARY | 719.545 ms | 0 - 9 MB | NPU | Use Export Script |
|
| 66 |
+
| vae | w8a16 | QCS8550 (Proxy) | Qualcomm® QCS8550 (Proxy) | QNN_CONTEXT_BINARY | 270.246 ms | 0 - 2 MB | NPU | Use Export Script |
|
| 67 |
+
| vae | w8a16 | QCS9075 (Proxy) | Qualcomm® QCS9075 (Proxy) | QNN_CONTEXT_BINARY | 249.051 ms | 1 - 10 MB | NPU | Use Export Script |
|
| 68 |
+
| vae | w8a16 | SA7255P ADP | Qualcomm® SA7255P | QNN_CONTEXT_BINARY | 719.545 ms | 0 - 9 MB | NPU | Use Export Script |
|
| 69 |
+
| vae | w8a16 | SA8255 (Proxy) | Qualcomm® SA8255P (Proxy) | QNN_CONTEXT_BINARY | 269.701 ms | 0 - 2 MB | NPU | Use Export Script |
|
| 70 |
+
| vae | w8a16 | SA8650 (Proxy) | Qualcomm® SA8650P (Proxy) | QNN_CONTEXT_BINARY | 271.566 ms | 1 - 4 MB | NPU | Use Export Script |
|
| 71 |
+
| vae | w8a16 | SA8775P ADP | Qualcomm® SA8775P | QNN_CONTEXT_BINARY | 249.051 ms | 1 - 10 MB | NPU | Use Export Script |
|
| 72 |
+
| vae | w8a16 | Samsung Galaxy S23 | Snapdragon® 8 Gen 2 Mobile | QNN_CONTEXT_BINARY | 272.059 ms | 0 - 3 MB | NPU | Use Export Script |
|
| 73 |
+
| vae | w8a16 | Samsung Galaxy S23 | Snapdragon® 8 Gen 2 Mobile | PRECOMPILED_QNN_ONNX | 268.347 ms | 0 - 66 MB | NPU | Use Export Script |
|
| 74 |
+
| vae | w8a16 | Samsung Galaxy S24 | Snapdragon® 8 Gen 3 Mobile | QNN_CONTEXT_BINARY | 204.634 ms | 0 - 18 MB | NPU | Use Export Script |
|
| 75 |
+
| vae | w8a16 | Samsung Galaxy S24 | Snapdragon® 8 Gen 3 Mobile | PRECOMPILED_QNN_ONNX | 204.181 ms | 3 - 22 MB | NPU | Use Export Script |
|
| 76 |
+
| vae | w8a16 | Snapdragon 8 Elite QRD | Snapdragon® 8 Elite Mobile | QNN_CONTEXT_BINARY | 175.412 ms | 0 - 14 MB | NPU | Use Export Script |
|
| 77 |
+
| vae | w8a16 | Snapdragon 8 Elite QRD | Snapdragon® 8 Elite Mobile | PRECOMPILED_QNN_ONNX | 193.867 ms | 3 - 17 MB | NPU | Use Export Script |
|
| 78 |
+
| vae | w8a16 | Snapdragon X Elite CRD | Snapdragon® X Elite | QNN_CONTEXT_BINARY | 265.486 ms | 0 - 0 MB | NPU | Use Export Script |
|
| 79 |
+
| vae | w8a16 | Snapdragon X Elite CRD | Snapdragon® X Elite | PRECOMPILED_QNN_ONNX | 265.196 ms | 63 - 63 MB | NPU | Use Export Script |
|
| 80 |
|
| 81 |
## Deploy to Snapdragon X Elite NPU
|
| 82 |
Please follow the [Stable Diffusion Windows App](https://github.com/quic/ai-hub-apps/tree/main/apps/windows/python/StableDiffusion) tutorial to quantize model with custom weights.
|
|
|
|
| 146 |
text_encoder
|
| 147 |
Device : cs_8275 (ANDROID 14)
|
| 148 |
Runtime : QNN_CONTEXT_BINARY
|
| 149 |
+
Estimated inference time (ms) : 11.1
|
| 150 |
Estimated peak memory usage (MB): [0, 9]
|
| 151 |
+
Total # Ops : 438
|
| 152 |
+
Compute Unit(s) : npu (438 ops) gpu (0 ops) cpu (0 ops)
|
| 153 |
|
| 154 |
------------------------------------------------------------
|
| 155 |
unet
|
| 156 |
Device : cs_8275 (ANDROID 14)
|
| 157 |
Runtime : QNN_CONTEXT_BINARY
|
| 158 |
+
Estimated inference time (ms) : 263.3
|
| 159 |
Estimated peak memory usage (MB): [0, 7]
|
| 160 |
+
Total # Ops : 4042
|
| 161 |
+
Compute Unit(s) : npu (4042 ops) gpu (0 ops) cpu (0 ops)
|
| 162 |
|
| 163 |
------------------------------------------------------------
|
| 164 |
vae
|
| 165 |
Device : cs_8275 (ANDROID 14)
|
| 166 |
Runtime : QNN_CONTEXT_BINARY
|
| 167 |
+
Estimated inference time (ms) : 719.5
|
| 168 |
Estimated peak memory usage (MB): [0, 9]
|
| 169 |
+
Total # Ops : 174
|
| 170 |
+
Compute Unit(s) : npu (174 ops) gpu (0 ops) cpu (0 ops)
|
| 171 |
```
|
| 172 |
|
| 173 |
|