File size: 3,186 Bytes
b193f07
 
b888754
 
b193f07
 
f6f9ca3
b193f07
f6f9ca3
 
 
b193f07
f6f9ca3
b193f07
f6f9ca3
b193f07
f6f9ca3
 
 
d08a11e
f6f9ca3
d08a11e
f6f9ca3
d08a11e
f6f9ca3
d08a11e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b193f07
f6f9ca3
b193f07
f6f9ca3
 
b193f07
f6f9ca3
 
b193f07
f6f9ca3
 
 
 
 
 
 
d08a11e
 
 
f6f9ca3
d08a11e
f6f9ca3
 
 
d08a11e
 
 
f6f9ca3
d08a11e
f6f9ca3
 
 
 
 
 
 
 
 
 
9d075d1
f6f9ca3
 
 
 
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
---
license: agpl-3.0
pipeline_tag: image-segmentation
library_name: executorch
---

# fast-sam

This repository hosts the **fast-sam** 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: [FastSAM](https://docs.ultralytics.com/models/fast-sam/)

## Variants

| Path | Backend | Precision |
| --- | --- | --- |
| `s/coreml/fast_sam_s_coreml_fp16.pte` | coreml | fp16 |
| `s/vulkan/fast_sam_s_vulkan_fp16.pte` | vulkan | fp16 |
| `s/xnnpack/fast_sam_s_xnnpack_fp32.pte` | xnnpack | fp32 |
| `s/xnnpack/fast_sam_s_xnnpack_int8.pte` | xnnpack | int8 |
| `x/coreml/fast_sam_x_coreml_fp16.pte` | coreml | fp16 |
| `x/vulkan/fast_sam_x_vulkan_fp16.pte` | vulkan | fp16 |
| `x/xnnpack/fast_sam_x_xnnpack_fp32.pte` | xnnpack | fp32 |
| `x/xnnpack/fast_sam_x_xnnpack_int8.pte` | xnnpack | int8 |

## XNNPACK int8

The `xnnpack/*_int8.pte` files are static int8 (PT2E, per-channel weights) with the
first convolution and the Segment head kept fp32, except the mask prototype branch.
Class-agnostic COCO AR@100 on the first 500 val2017 images (all categories merged,
box NMS at IoU 0.9 as in the library):

| | box AR@100 | mask AR@100 |
| --- | --- | --- |
| s fp32 | 41.65 | 36.25 |
| s int8 | 41.81 | 36.13 |
| x fp32 | 46.07 | 40.93 |
| x int8 | 46.09 | 41.04 |

## Unshipped backends

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

- `s/mlx` ([why](https://huggingface.co/software-mansion/react-native-executorch-fast-sam/blob/main/s/mlx/NOTES.md))
- `x/mlx` ([why](https://huggingface.co/software-mansion/react-native-executorch-fast-sam/blob/main/x/mlx/NOTES.md))

## Repository structure

```
config.json                            30 B
s/coreml/config.json                   1.2 kB
s/coreml/fast_sam_s_coreml_fp16.pte    23.1 MB
s/mlx/NOTES.md                         2.0 kB
s/vulkan/config.json                   1.3 kB
s/vulkan/fast_sam_s_vulkan_fp16.pte    22.6 MB
s/xnnpack/config.json                  2.1 kB
s/xnnpack/fast_sam_s_xnnpack_fp32.pte  45.2 MB
s/xnnpack/fast_sam_s_xnnpack_int8.pte  18.5 MB
x/coreml/config.json                   1.2 kB
x/coreml/fast_sam_x_coreml_fp16.pte    139 MB
x/mlx/NOTES.md                         2.0 kB
x/vulkan/config.json                   1.3 kB
x/vulkan/fast_sam_x_vulkan_fp16.pte    138 MB
x/xnnpack/config.json                  2.1 kB
x/xnnpack/fast_sam_x_xnnpack_fp32.pte  276 MB
x/xnnpack/fast_sam_x_xnnpack_int8.pte  99.6 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.