File size: 4,276 Bytes
61f63c6
4680255
 
 
61f63c6
 
ff12ed8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
f7eff56
 
 
 
 
b2cf088
 
 
 
 
 
 
 
 
 
f7eff56
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ff12ed8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8577f5f
ff12ed8
 
 
 
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
---
license: bsd-3-clause
pipeline_tag: image-segmentation
library_name: executorch
---

# deeplab-v3

This repository hosts the **deeplab-v3** models exported for the
[React Native ExecuTorch](https://www.npmjs.com/package/react-native-executorch)
library as ExecuTorch `.pte` programs, ready to run on device.

Upstream model: [DeepLabV3](https://docs.pytorch.org/vision/main/models/deeplabv3.html)

## Variants

| Path | Backend | Precision |
| --- | --- | --- |
| `coreml/deeplab_v3_mobilenet_v3_large_coreml_fp16.pte` | coreml | fp16 |
| `coreml/deeplab_v3_resnet50_coreml_fp16.pte` | coreml | fp16 |
| `coreml/deeplab_v3_resnet101_coreml_fp16.pte` | coreml | fp16 |
| `xnnpack/deeplab_v3_mobilenet_v3_large_xnnpack_fp32.pte` | xnnpack | fp32 |
| `xnnpack/deeplab_v3_mobilenet_v3_large_xnnpack_int8.pte` | xnnpack | int8 |
| `xnnpack/deeplab_v3_resnet50_xnnpack_fp32.pte` | xnnpack | fp32 |
| `xnnpack/deeplab_v3_resnet50_xnnpack_int8.pte` | xnnpack | int8 |
| `xnnpack/deeplab_v3_resnet101_xnnpack_fp32.pte` | xnnpack | fp32 |
| `xnnpack/deeplab_v3_resnet101_xnnpack_int8.pte` | xnnpack | int8 |
| `qnn/deeplab_v3_mobilenet_v3_large_qnn_a16w8_v69.pte` | qnn | a16w8 |
| `qnn/deeplab_v3_mobilenet_v3_large_qnn_a16w8_v73.pte` | qnn | a16w8 |
| `qnn/deeplab_v3_mobilenet_v3_large_qnn_a16w8_v75.pte` | qnn | a16w8 |
| `qnn/deeplab_v3_mobilenet_v3_large_qnn_a16w8_v79.pte` | qnn | a16w8 |
| `qnn/deeplab_v3_mobilenet_v3_large_qnn_a16w8_v81.pte` | qnn | a16w8 |
| `qnn/deeplab_v3_resnet50_qnn_a16w8_v69.pte` | qnn | a16w8 |
| `qnn/deeplab_v3_resnet50_qnn_a16w8_v73.pte` | qnn | a16w8 |
| `qnn/deeplab_v3_resnet50_qnn_a16w8_v75.pte` | qnn | a16w8 |
| `qnn/deeplab_v3_resnet50_qnn_a16w8_v79.pte` | qnn | a16w8 |
| `qnn/deeplab_v3_resnet50_qnn_a16w8_v81.pte` | qnn | a16w8 |
| `qnn/deeplab_v3_resnet101_qnn_a16w8_v69.pte` | qnn | a16w8 |
| `qnn/deeplab_v3_resnet101_qnn_a16w8_v73.pte` | qnn | a16w8 |
| `qnn/deeplab_v3_resnet101_qnn_a16w8_v75.pte` | qnn | a16w8 |
| `qnn/deeplab_v3_resnet101_qnn_a16w8_v79.pte` | qnn | a16w8 |
| `qnn/deeplab_v3_resnet101_qnn_a16w8_v81.pte` | qnn | a16w8 |

## QNN variants

A QNN `.pte` embeds an HTP context binary compiled for one Hexagon version, so
there is one file per version and the runtime picks the one matching the device.
These return a class index per pixel, `(1, 520, 520)` int32, rather than
`(1, 21, 520, 520)` logits.

| Hexagon | Example SoC |
| --- | --- |
| v69 | Snapdragon 8 Gen 1 |
| v73 | Snapdragon 8 Gen 2 |
| v75 | Snapdragon 8 Gen 3 |
| v79 | Snapdragon 8 Elite |
| v81 | Snapdragon 8 Elite Gen 5 |

## Unshipped backends

A backend directory carrying a `NOTES.md` and no `.pte` was exported and
not published. Its note records what went wrong.

- `mlx` ([why](https://huggingface.co/software-mansion/react-native-executorch-deeplab-v3/blob/main/mlx/NOTES.md))

## Repository structure

```
config.json                                             32 B
coreml/config.json                                      2.1 kB
coreml/deeplab_v3_mobilenet_v3_large_coreml_fp16.pte    21.5 MB
coreml/deeplab_v3_resnet101_coreml_fp16.pte             112 MB
coreml/deeplab_v3_resnet50_coreml_fp16.pte              75.9 MB
mlx/NOTES.md                                            2.0 kB
xnnpack/config.json                                     5.0 kB
xnnpack/deeplab_v3_mobilenet_v3_large_xnnpack_fp32.pte  42.1 MB
xnnpack/deeplab_v3_mobilenet_v3_large_xnnpack_int8.pte  10.8 MB
xnnpack/deeplab_v3_resnet101_xnnpack_fp32.pte           224 MB
xnnpack/deeplab_v3_resnet101_xnnpack_int8.pte           58.9 MB
xnnpack/deeplab_v3_resnet50_xnnpack_fp32.pte            151 MB
xnnpack/deeplab_v3_resnet50_xnnpack_int8.pte            40.4 MB
```

## Compatibility

These files are published for the **ExecuTorch v1.4.1** runtime. ExecuTorch
gives no forward compatibility guarantee, so an older runtime may fail to load
them.

To use them in React Native ExecuTorch, pass the model constant shipped in the
library's model registry to the corresponding task pipeline. See the
[documentation](https://docs.swmansion.com/react-native-executorch/docs/fundamentals/downloading-models).

To load these files in your own ExecuTorch runtime, read the
[compatibility note](https://github.com/pytorch/executorch/blob/main/runtime/COMPATIBILITY.md)
first.